Quelle est la manière la plus simple d'obtenir un int dans une application console?
Je veux processus de saisie de l'utilisateur comme un entier, mais il semble comme si C n'a aucun moyen de récupérer un entier sur l'entrée standard. Est-il une fonction pour faire cela? Comment pourrais-je aller sur l'obtention d'un int de l'utilisateur?
OriginalL'auteur Jon Chasteen | 2009-05-14
Vous devez vous connecter pour publier un commentaire.
Voir http://www.cplusplus.com/reference/clibrary/cstdio/scanf/
OriginalL'auteur Marc W
scanf()
est la réponse, mais vous devriez certainement vérifier la valeur de retour depuis beaucoup, beaucoup de choses peuvent mal se passer d'analyse des numéros à partir de l'entrée externe...Est un entier de 2 octets de long. Le plus à gauche bit est utilisé pour stocker le signe du nombre (0 pour positif, 1 pour la négative), alors on se retrouve avec 15 bits pour stocker le nombre lui-même. De ce fait, les entiers en C peuvent varier, allant de -32768 (-2^15 ou 1111111111111111) à 32768 (2^15 ou 0111111111111111). Lorsque vous entrez un nombre plus grand que la plus grande valeur possible, le bit plus à gauche est affectée une valeur et l'entier ne représente plus une valeur que vous espériez. Si vous voulez entrer dans de plus grands nombres entiers utiliser
long int
ou même de "long long int", car il peut contenir beaucoup plus grand nombre.OriginalL'auteur dwc
De la bibliothèque standard de la fonction scanf est utilisé pour formatée d'entrée:
%d int (le d est court pour les décimales)
merci lol
OriginalL'auteur TStamper
Côté de
(f)scanf
, qui a été suffisamment discutée par les autres réponses, il y a aussiatoi
etstrtol
, pour les cas où vous avez déjà lu entrée dans une chaîne de caractères mais vous voulez les convertir en unint
oulong
.strtol
est recommandée car elle permet de déterminer si un numéro a été correctement lu ou pas (contrairement àatoi
, qui n'a aucun moyen de signaler toute erreur, et tout simplement de retourner 0 si, compte tenu des ordures).OriginalL'auteur ephemient
de ici
OriginalL'auteur Konstantinos