Partage
  • Partager sur Facebook
  • Partager sur Twitter

Scanf ne fonctionne pas

Sujet résolu
15 mai 2023 à 19:08:12

Bonjour,

au vu du titre comme indiqué le scanf  ne fonctionne pas (en enlevant cette ligne elle fonctionne) 

j'ai suivi le cours indiqué mais je ne trouve pas le problème pourriez vous m'aider svp

  • Partager sur Facebook
  • Partager sur Twitter
15 mai 2023 à 19:53:50

Bonjour,

Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

Pour plus d'informations, nous vous invitons à lire les règles générales du forum

Merci de colorer votre code à l'aide du bouton Code

Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: cpp;">Votre code ici</pre>.

Merci de modifier votre message d'origine en fonction.

Liens conseillés

  • Partager sur Facebook
  • Partager sur Twitter
15 mai 2023 à 20:19:37

Hello,

GuillaumeHumm a écrit:

.... scanf  ne fonctionne pas (en enlevant cette ligne elle fonctionne) ....

Ça ne veut rien dire. Décris "ce qui ne fonctionne pas".

________

Edit: pas vu le message d'erreur en bas d'écran. Ça, c'est microsoft qui veut t'obliger à utiliser sa fonction scanf_s(). Mets

#define _CRT_SECURE_NO_WARNINGS

en tout début de code, et il compilera.

-
Edité par edgarjacobs 15 mai 2023 à 20:26:12

  • Partager sur Facebook
  • Partager sur Twitter

On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

16 mai 2023 à 15:47:30

Rebonjour,

le fait de mettre le code indiqué ci dessous n'as pas fonctionné pour la compilation

#define _CRT_SECURE_NO_WARNINGS

mais au contraire le "scanf_s()" a très bien fonctionné 

pourquoi ne prend il pas en compte "scanf" dans la compilation ?

  • Partager sur Facebook
  • Partager sur Twitter
16 mai 2023 à 16:13:50

N'a pas fonctionné ? C'est pas précis ça ! Quel message d'erreur as tu ? Où as tu mis cette ligne de code ? (Elle doit être avant les directives include).
  • Partager sur Facebook
  • Partager sur Twitter
...
16 mai 2023 à 18:01:31

Où as-tu mis le #define? Il faut le mettre au tout début.

Et refuser par défaut scanf() est un choix de Microsoft. Cette fonction est à éviter car pas sure, par exemple:

char txt[4];
scanf( "%s" , txt );

Que se passe-t-il si on entre la chaine "hello", on peut espérer un plantage, mais c'est un comportement indéfini (UB) et est un moyen utilisé par les virus pour faire de l'injection de code (le pirate peut utiliser ce comportement indéfini avec une chaine particulière qui va rerouter le process pour exécuter un code caché.) 

  • Partager sur Facebook
  • Partager sur Twitter

En recherche d'emploi.

16 mai 2023 à 20:21:42

La prochaine fois, j'écrirai: la ligne .... doit être la 1ère du code.

-
Edité par edgarjacobs 17 mai 2023 à 0:13:33

  • Partager sur Facebook
  • Partager sur Twitter

On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent