Sto cercando di modificare i dati in array, questo fa parte del mio codice:Scanf unsigned char in esadecimale
u_char paket[100];
//here i put some data into array and then trying to change it by user
scanf("%hhx.%hhx.%hhx.%hhx.%hhx.%hhx", &paket[0], &paket[1], &paket[2], &paket[3], &paket[4], &paket[5]);
Quando il mio ingresso è ad esempio 88.88.88.88.88.88
pone paket[0] - paket[5]
-88, ma cambia anche paket[6],
paket[7]
e paket[8]
a 0.
Come è possibile e come risolverlo per favore? Ho bisogno di cambiare solo [0] - [5]
La dichiarazione del 'Array u_char' potrebbe inizializzare tutti gli elementi a 0. la risposta di alcuni Fellow che ha cancellato un minuto fa aveva forse ragione: si potrebbe scansionare un int aka 4 byte/caratteri su ogni identificatore di formato su un sistema big-endian. – collapsar
Ah, errore mio, non ho inserito l'intero codice. Tra la prima e la seconda riga carico i dati in quella matrice. Quindi, prima che scanf quegli elementi non siano impostati a 0, il problema è con scanf. – user2306381