Si certo,in un solo carattere (1byte) non c'è modo di farci stare un intero (due byte,o anche di più in alcuni casi)quindi devi per forza utilizzare più posizioni del vettore esattamente come hai detto tu stesso,è per questo che non capisco dove sta il tuo problema.Nella distinzione tra un intero ed il successivo?Metti un carattere speciale di separazione...oppure qual'è?Originariamente inviato da honneamise
dunque ho un vettore di unsigned char :
unsigned char messaggio[20];
questo vettore lo "riempio" per esempio con dei caratteri:
messaggio[0]='c';
messaggio[1]='i';
messaggio[2]='a';
messaggio[3]='o';
oppure con dei valori in esadecimale (hex):
messaggio[4]=0x01;
messaggio[5]=0x02;
messaggio[6]=0xAA;
ora vorrei mettere in messaggio[7] il valore intero in base 10 3106 :
int intero = 3106;//OK
messaggio[7]=intero; //QUESTA COSA NON FUNZIONA !!!
ed e' giusto che non funzioni, perche' il valore massimo che posso mettere in un unsigned char e' 0xFF , cioe' 255 .
3106 in esadecimale e' : C22
in pratica devo utilizzare sia messaggio[7] sia messaggio[8],cioe':
messaggio[7]=0x0C;
messaggio[8]=0x22;