Conversion char int en C

Résolu
crazyghandi Messages postés 323 Statut Membre -  
crazyghandi Messages postés 323 Statut Membre -
Bonjour,

je voudrais convertir un int en chaine de caracteres :

unsigned short *t = u;
printf(" temp : %d ",t);
int x = (int)t;
printf(" temp : %d ",x);
char v = *u;
// char *q = &v;
char *q = (char *)x;
printf(" temp : %s ",q);

et la reponse dans le programme :

temp : 464838 temp : 464838 temp : ç

donc comment stocker "464838" dans q ?

merci d'avanc epour vos reponses

4 réponses

fiddy Messages postés 11653 Statut Contributeur 1 847
 
Salut,
Avec snprintf tu peux le faire ;)
int a=455;
char ch[10];
snprintf(ch,sizeof ch,"%d",a);

Cdlt
0
crazyghandi Messages postés 323 Statut Membre 19
 
ok merci javais essaye me pas reussi

en revanche en declarant direct serial en unsigned short plu de necessite de conversion
donc plus de probleme

est ce que par hasard tu sais comment recuperer le poids du fichier ?

j'ai essaye filesize() mais le compilateur ne reconnait pas la fonction

merci
0
Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
Le poids ?
Tu veux dire la taille ? Avec lseek() http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man2/lseek.2.html
taille = 8*lseek(fildes_int, 0, SEEK_END);
EDIT : en fait, la la taille est donnée en bit. Pour l'avoir en octet, il ne faut pas multiplier par 8.
0
crazyghandi Messages postés 323 Statut Membre 19
 
ok merci je vais regarder ca
0