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

Sof*_*nux 1 c++ png byte fread

我正在尝试从PNG文件中读取标头.

结果应该是

Dec: 137 80 78 71 13 10 26 10
Hex: 89 50 4E 47 0D 0A 1A 0A
Run Code Online (Sandbox Code Playgroud)

但是,我明白了

Dec: 4294967 80 78 71 13 10 26 10
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

码:

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

Nim*_*Nim 7

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

请参阅此链接以了解数据类型的限制.