Comment puis-je utiliser C pour atsortingbuer une entrée utilisateur à une variable?

Je me demande s’il existe une fonction que je pourrais utiliser dans la bibliothèque standard. Ai-je besoin d’une autre bibliothèque (BTW, je développe pour unix).

Voir la fonction scanf() dans stdio.h. Il faut un spécificateur de format comme printf() et des pointeurs vers les variables pour stocker l’entrée de l’utilisateur dans

Utilisez scanf()

Format: int scanf ( const char * format, ... );

Read formatted data from stdin. Reads data from stdin and stores them according to the parameter format into the locations pointed by the additional arguments. The additional arguments should point to already allocated objects of the type specified by their corresponding format tag within the format ssortingng.

Exemple:

 #include  int main(void) { int n; printf("Enter the value to be stored in n: "); scanf("%d",&n); printf("n= %d",n); } 

Cependant, regardez ceci.

C’est intéressant – deux réponses à ce jour suggèrent toutes deux scanf() ; Je ne le ferais pas

Quand tout va bien, scanf() est OK. Lorsque les choses tournent mal, la récupération a tendance à être difficile.

J’utiliserais normalement fgets() pour lire les informations utilisateur d’une ligne dans un tampon (tableau de caractères) en premier. J’utiliserais alors sscanf() pour collecter des informations du tampon dans les variables cibles. Le gros avantage est que si l’utilisateur tape “12Z” quand vous voulez qu’il tape deux nombres, vous pouvez lui dire ce que vous avez vu et pourquoi ce n’est pas ce que vous vouliez beaucoup mieux. Avec scanf() , vous ne pouvez pas faire cela.

Vous semblez tout à fait nouveau à C alors laissez-moi append un petit quelque chose à la réponse Prasoon, qui est tout à fait correcte et complète, mais peut-être difficile à comprendre pour un débutant.

Lors de l’utilisation de scanf (format const char *, …); dans son exemple, Prasoon utilise:

 scanf("%d",&n); 

Lorsque vous utilisez ceci, le “% d” indique que vous allez lire un entier (voir Wikipedia pour la liste complète des formats).

Le deuxième argument (notez que le … indique que vous pouvez envoyer autant d’arguments) indiquez l’ adresse de la variable dans laquelle vous allez stocker l’entrée de l’utilisateur.