allora via "cast" nulla da fare a parte un warning su gcc ( visual manco se ne accorge ...)
la soluzione "parziale e incompleta " che ho trovato e' usare lo shift come segue :
packet_info[19]=(unsigned char)1233;
packet_info[20]=(unsigned char)1233>>8;
dovrei trovare ora una funzione che mi dica
34 e' grosso 1 byte;
1233 e' grosso 2 byte;
K e' grosso N byte
poi faccio un for del tipo:
// X e' la posizione del vattore da cui partire a scrivere il valore intero
for (i=0;i<N;i++)
{
vettore[ i + x]= valore_intero >> ( 8 * i ) ;
}
che ne dite ?