Conversion char int en C

Résolu/Fermé
crazyghandi Messages postés 312 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 4 octobre 2011 - 27 nov. 2008 à 13:02
crazyghandi Messages postés 312 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 4 octobre 2011 - 27 nov. 2008 à 14:50
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 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
27 nov. 2008 à 13:30
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 312 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 4 octobre 2011 19
27 nov. 2008 à 13:47
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 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
27 nov. 2008 à 14:48
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 312 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 4 octobre 2011 19
27 nov. 2008 à 14:50
ok merci je vais regarder ca
0