Utiliser cin.get pour obtenir un nombre entier
Je veux obtenir une chaîne de nombres un par un, donc je suis en utilisant un while
boucle
avec cin.get()
comme la fonction qui récupère mes chiffres un par un.
Mais cin.get()
obtient les chiffres char
s et même si je suis en train d'utiliser
casting je ne peux pas obtenir mes variables pour contenir la numrical et non pas la valeur ascii
des chiffres que je reçois en tant qu'entrée.
source d'informationauteur Quaker | 2012-11-16
Vous devez vous connecter pour publier un commentaire.
cin.get
peut pas analyser les chiffres. Vous pourriez le faire manuellement – mais pourquoi la peine de re-mise en œuvre de cette fonction, car elle existe déjà?*En général, le flux des opérateurs (
<<
et>>
) prendre soin de formaté d'entrée et de sortie,istream::get
d'autre part des extraits bruts de caractères seulement.* bien sûr, si vous ont de ré-implémenter cette fonctionnalité, il n'y a rien pour elle.
Pour obtenir la valeur numérique à partir de un chiffre, vous pouvez exploiter que les codes de caractères de chiffres décimaux de 0 à 9 sont consécutifs. Donc, la fonction suivante peut secrète: