Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
convertir des char en int en c++
Envoyé par: super-ienien

Salut voila je n'arrive pas a trouver comment on convertit une chaine de caracteres en nombre entier ou inversement.

Je ne sait meme pas si c'est possible.

merci d'avance

Poste le Sunday 14 December 2003 19:48:41
Répondre     Citer    
Re: convertir des char en int en c++
Envoyé par: Jonesy's

Bonsoir,

Bien sûr que c'est possible.
Et ce n'est pas C++, c'est du C ! ;-)

Pour char en int :
man 3 atoi

Pour int en char, c'est encore plus simple :
man 3 printf ;-p PS : je ne déconne pas !

@+

Poste le Sunday 14 December 2003 20:40:26
Répondre     Citer    
Re: convertir des char en int en c++
Envoyé par: abgech

atoi() ne fait aucun contrôle de la validité de ta chaine de caracteres. Je te conseille plutôt d'utiliser strtol() qui fait ce contrôle.

Poste le Tuesday 16 December 2003 06:53:48
Répondre     Citer    
Re: convertir des char en int en c++
Envoyé par: Svear

Je vais me permettre de détailler un peu plus ces explications succintes...

Tu as un nombre
int nb=127;

Tu veux mettre ce nombre dans un mot de 3 caractères
char mot[4]; /* Tu réserves un octet de plus que la place nécessaire car le C rajoutera un caractère de valeur 0 en fin de tableau */

/* Action */
sprintf(mot, "%d, nb);

/* C'est fini */
La fonction "sprintf" va afficher le nombre "nb" et stocker cet affichage dans "mot"


Inversement

Tu as un mot
char mot[]="127";

Tu veux mettre cette valeur "127" dans un nombre nb
int nb;

/* Action */
nb=strtoul(mot, 0, 10);

La fonction est un peu plus compliquée - Elle converti une chaîne en unsigned long (strtoul = string to unsigned long) mais il faut lui donner la base de conversion (10)
J'ai jamais trop compris le second paramètre de cette fonction. Je crois qu'il fait référence à une zone particulière ou seront stockés tous les messages d'erreur survenus durant la conversion s'il y en a (ça, c'est ce que je pense mais je n'en suis pas certain)
Mettre "0" dans ce second paramètre indique que tu ne veux pas stocker ces messages (là, j'en suis certain).
Tu as aussi à ta disposition "strtol" et "strtod"

Bien à toi... :-)

Poste le Friday 19 December 2003 02:13:32
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
convertir des char en int en c++
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons