Fonction qui transforme une chaîne de caractère en nombre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 529 fois - Téléchargée 36 fois

Contenu du snippet

Avec une superbe astuce que j'ai trouvé dans un livre et que j'ai arrangé, j'ai codé une fonction qui transforme votre chaîne de caractère en un nombre ! C'est t'y pas génial ça ! Pour des raisons de simplification de code, je ne teste pas si ce que contient buf est un nombre... C à vous de le coder.

Source / Exemple :


int Calculateur::char_to_int(char* buf)
{
 int nbr;                                          
 int size_buf = strlen(buf);                       //on stoque la taille de buf dans size_buf
 cin.putback('\n');                                // insère le caractère de fin de saisie...
 for(int j=size_buf;j>=0;--j) cin.putback(buf[j]); 
/* insière les caractères en partant du dernier au premier */
cin >> nbr;                                       
/* ...pour que l'utilisateur ne soit pas obligé de le mettre */
 return nbr;
}

A voir également

Ajouter un commentaire

Commentaires

cmarsc
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003
-
salut,

il ne manquerait un tout petit pour cin ou cout par hasard ?

cmarsc ;-)
cmarsc
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003
-
salut,

il ne manquerait pas un tout petit pour cin ou cout par hasard ?

cmarsc ;-)
cs_Kaid
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
-
Pourquoi 5 et pas 6 ?
cs_Kaid
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
-
Tu ne transformes absolument pas ta chaine de caractères en nombre.
Et pourquoi 5 et pas 6 ?

int i; cin>>i; Marche très bien.
NettoyeurFantome
Messages postés
35
Date d'inscription
samedi 25 mai 2002
Statut
Membre
Dernière intervention
10 mai 2003
-
MDR : je me suis gourré de source en faisant le copier collé. Sorry les gars lol.

@+

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.