我正在尝试从PNG文件读取 header 。

结果应该是

Dec: 137 80 78 71 13 10 26 10
Hex: 89 50 4E 47 0D 0A 1A 0A

但是,我得到
Dec: 4294967 80 78 71 13 10 26 10

我究竟做错了什么?

码:
char T;
pngFile = fopen(Filename, "rb");
if(pngFile)
{
    fread(&T, 1, 1, pngFile);
    fclose(pngFile);
    printf("T: %u\n", T);
}

最佳答案

137对于签名字符太大-使用unsigned char代替...

有关数据类型的限制,请参见this link

07-28 10:47