próbuję zmienić dane w tablicy, to jest część mojego kodu:Scanf unsigned char w hex
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]);
Kiedy mój wkład jest na przykład 88.88.88.88.88.88
ustawia paket[0] - paket[5]
do 88, ale również zmienia paket[6],
paket[7]
i paket[8]
do 0.
Jak to możliwe i jak to naprawić? Muszę zmienić tylko [0] - [5]
Deklaracja swojej 'u_char' Array może zainicjować wszystkich elementów 0. Odpowiedź jakiegoś członka, który usunęła minutę temu, była być może słuszna: możesz skanować int aka 4 bajty/znaki na każdym identyfikatorze formatu w systemie Big-endian. – collapsar
Ach, mój błąd, nie wysłałem całego kodu. Między pierwszym a drugim rzędem ładuję dane do tej tablicy. Więc przed skanowaniem te elementy nie są ustawione na 0, problem jest z scanf. – user2306381