读取PNG头的第一个字节时出现奇怪的结果

时间:2011-01-20 10:37:32

标签: c++ png byte fread

我正在尝试从PNG文件中读取标题。

结果应为

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);
}

1 个答案:

答案 0 :(得分:7)

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

请参阅this link了解数据类型的限制。