Fonctions C

xman_genius Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   -  
forestmann Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
bonjour;
je veux savoir si il existe
une fonction pour convertir du string en int et l'iinverse

8 réponses

pascal208 Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   3
 
Salut,
Pour convertir de string en int il y a la fonction atoi dans la bibliothèque stdlib.
Pour int vers string je ne sais pas.
0
cataclypse
 
0
pascal208 Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   3
 
je ne connaissais pas itoa qui peut être bien pratique
merci
0
Pique
 
Pour convertir une chaine de caractère en nombre,il y a les fonctions
srtol,srtod,atoi,atol,atof
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strtod.3.html

mais pour convertir un nombre en chaine de caractère ?
0
c_man
 
Salut,

Pour passer un int en chaine, il te faut utiliser la fonction sprintf.

Exemple :
int val = 58
char res[10] ;

sprintf( res, "%d", val ) ;

Dans res ce trouve la valeur 58 sous forme de chaine.
Mais sprintf est beaucoup plus puissant, il te permet de formatter la valeur en ajoutant des 0 en début de chaine ou en l'affichant sur un certain nombre de caractèeres.

Par exemple : sprintf( res, "%05d", val) ; te permet de formatter ta valeur 58 et aura le format 00058.

Voila, le mieux pour toi est de trouver la doc sur sprintf (voir printf) car il y a beaucoup de possibilités.

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
salut,
j'ai deja vu ca , et on a traité ca lors d'un tp de system d'information.
on avais le tableau code ki est de type char et an_etude est de type entier (ex:1,2,3...),mais on a utiliser un tableau intermediaire annee de type char et on a fait cet fonction
"10" c la base 10
itoa(an_etude,annee,10);
code[1]=annee[0];
0
forestman
 
svp je veux convertir printf("Symbol%d.bmp\n", numSymbol); en c++ qlq 1 peut m aidé svp? merci d avance!
0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Tu peux l'écrire tel quel en incluant <cstdio>. Ou si tu veux l'écrire en C++, inclue <iostream> et écrit à la place du printf :
std::cout << "Symbol" << numSymbol << ".bmp" << std::endl;

- std::cout désigne la sortie standard (je te rappelle que printf(...) équivaut à fprintf(stdout,...))
- std::endl désigne un retour à la ligne en C++

Bonne chance
0
forestmann Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   6
 
merci pour ta reponse et tes explications j ai fait ce que tu m as dit,mais puisque j ai encore qlqs erreurs a reglé donc j ai pas encore obtenue le resultat. merci infiniment
0