29/02/12 9:25
Neo1986
Buongiorno a tutti!
Ho un piccolo problema, causato penso dalla ruggine
accumulata dopo anni di inutilizzo del C.
Ho un array int dichiarato in questo modo:
int DatoRX(52);
L'array contiene una serie di 0 e 1.
A questo punto devo passare questo array ad una funzione (per l'invio su socket tcp) e questa richiede in ingresso un array "byte".
Come posso fare per convertire l'array da intero a unsigned char?
Grazie
aaa
29/02/12 9:42
Bonny
So che esiste la funzione itoa(int, char *, int), il primo parametro intero viene convertito in un array di char l'ultimo parametro specifica la base del dato numerico da converire.
esempio:
#include <stdio.h>
#include <stdlib.h>
int main (){
int i;
char buffer [33];
printf ("Enter a number: ");
scanf ("%d",&i);
itoa (i,buffer,10);
printf ("decimal: %s\n",buffer);
itoa (i,buffer,16);
printf ("hexadecimal: %s\n",buffer);
itoa (i,buffer,2);
printf ("binary: %s\n",buffer);
return 0;
}
Ultima modifica effettuata da Bonny 29/02/12 9:43
aaa
29/02/12 13:45
lorenzo
send(connection, (char *)DatoRX, sizeof(int) * 52, 0)
ci pensa il cast char * a convertire il tutto.
Ultima modifica effettuata da lorenzo 29/02/12 13:46
aaa