Oppure

Loading
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