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