[C] int <--> char

Résolu
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   -  
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjours,

Pour le serveru, j'aurais besoin de passer un entier du serveur au client, pour cela je dois lemettre dans un buffer, mais à la receprtion il n'affiche pas l'entier.
Je voudrais donc savoir comment récupérer l'enter coté client ?

merci
++
A voir également:

3 réponses

kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Ben en fait toute cees solution marche, j'ai choisis les première qui venait en faites, c'est à dire :

pour convertir une chaine en long int :
char *end;
char buf[256] = "45";
long int n = strtol(buf,&end,10);

Et l'inverse :
n=4;
sprintf(buf,"%d",n);


Merci les gars, j'vous paye une tournée de bière franboise / harend / citron / kiwi

++
2
Luffy =) Messages postés 365 Date d'inscription   Statut Membre Dernière intervention   110
 
Pour le serveru
et pour le clinte c'est pour quand ??? ok je sors... --->

bref si tu le récupères dans un char, tu peux utiliser la fonction sscanf() :
char buf='1';
int i=0;
sscanf(buf, "%d", $i);

et voili !

++ kij :-)
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
int i=0;
sscanf(buf, "%d", $i);


On est pas en PHP la !!! lol

merci et l'inverse ? pareil ?
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Arrf.. en fait l'inconvénient avec ta méthode c'est qu'il faut absolument que l'espace nécessaire soit déjà allouer...

Tant pis, je jetterai un coup d'oeil dans la bible en rentrant ce soir !

merci
++
0
Luffy =) Messages postés 365 Date d'inscription   Statut Membre Dernière intervention   110
 
en fait l'inconvénient avec ta méthode c'est qu'il faut absolument que l'espace nécessaire soit déjà allouer... 
ben si tu arrives à me donner une fonction en C où tu peux mettre une valeur dans une mémoire non-allouée, ben tu m'appelles !!!

pour l'inverse ça doit être comme en php (en fait c'est plutot le php qui a copié le C) c'est-à-dire sprintf(...)

mouarf !
0
Nashouille
 
moi j'avais fais un buffer en char*.
Pour passer un int dedans :
int i;
memcpy(buffer,&i,sizeof(int);

et pour le récupérer:
int i;
memcpy(bufffer,&i,sizefo(int));

Je sais pas si ça peut aider...
0