Tôi cố gắng để thay đổi dữ liệu trong mảng, đây là một phần của mã của tôi:scanf char unsigned trong 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]);
Khi đầu vào của tôi là ví dụ 88.88.88.88.88.88
nó đặt paket[0] - paket[5]
-88, nhưng nó cũng thay đổi paket[6],
paket[7]
và paket[8]
tới 0.
Làm cách nào để khắc phục sự cố? Tôi cần phải thay đổi chỉ [0] - [5]
Việc kê khai của 'u_char' mảng của bạn có thể khởi tạo tất cả các yếu tố để 0. câu trả lời của một số thành viên đã xóa nó một phút Ago có lẽ đúng: bạn có thể Quét một int aka 4 Bytes/ký tự trên mỗi định dạng định dạng trên một hệ thống Big-endian. – collapsar
Ah, sai lầm của tôi, tôi đã không đăng toàn bộ mã. Giữa hàng đầu tiên và hàng thứ hai tôi tải dữ liệu vào mảng đó. Vì vậy, trước khi scanf những yếu tố không được thiết lập để 0, vấn đề là với scanf. – user2306381