pixel_data
là vector
của char
.Tại sao printf không in ra chỉ một byte khi in hex?
Khi tôi làm printf(" 0x%1x ", pixel_data[0])
Tôi hy vọng sẽ thấy 0xf5
.
Nhưng tôi nhận được 0xfffffff5
như thể tôi đã in ra một số nguyên 4 byte thay vì 1 byte.
Tại sao điều này? Tôi đã cung cấp printf
một char
để in ra - chỉ có 1 byte, vậy tại sao là printf
in 4?
NB. việc thực hiện printf
được bao bọc bên trong API của bên thứ ba nhưng chỉ tự hỏi liệu đây có phải là một tính năng của tiêu chuẩn printf
không?
Xem thêm: http://stackoverflow.com/questions/3512749/memcpy-adds-ff-ff-ff-to-the-beginning-of-a-byte –