PDA

Visualizza la versione completa : [C] Conversione da intero a char... come fare??


Neo82
01-07-2005, 20:30
Salve.

Avrei la necessità di convertire un numero intero a 16 bit in modo che possa essere trasferito su socket rappresentato in binario puro su 2 byte. il numero deve essere prima convertito in formato di rete con la funzione htons. Ma è proprio il passaggio da formato di rete a binario su 2 byte (e viceversa) che mi manca... Qualcuno può aiutarmi pls.

Grazie in anticipo

per capirci:



int a,b;
char buf[4];
a=10;
b=20;
uint16_t numero1=htons(a);
uint16_t numero2=htons(b);
// ora devo mettere in buf[1] e buf[2] numero1 ed
// in buf[3] e buf[4] numero2
// il tutto verra trasmesso via socket e lato server dovrei
// fare l'operzione inversa... ma come???



so che probabilmente è una cavolata... pls help me!!

floyd
02-07-2005, 08:44
io farei così


char *buf;
buf = malloc(4);
a = 10;
b = 20;
sprintf(buf, "%d", a);
sprintf(buf + 2, "%d", b);

Lethalman
02-07-2005, 09:43
sprintf(buf, "%d%d", a, b); a sto punto :D

Matteo982
02-07-2005, 10:37
A che serve lo sprintf? :confused: :master:

Ciao. :ciauz:

Squall1988
02-07-2005, 10:53
si anke io direi ke è la soluzione migliore.

la sprintf è come la pritf solo ke manda l'output sulla stringa passata come primo argomento, non sul video :D

Matteo982
02-07-2005, 10:54
Ho capito...grazie! :)

Loading