所以我有一个非常简单的程序来读取文件的前 3 个字节:
诠释主要(无效) { 文件 *fd = NULL; 诠释我; 无符号字符测试 = 0; fd = fopen("test.bmp", "r"); printf("位置:%ld\n", ftell(fd)); 对于 (i=0; i<3; i++) { fread(&test, sizeof (unsigned char), 1, fd); printf("位置: %ld 字符:%X\n", ftell(fd), test); } 返回(0); }
当我尝试使用文本文件时,它可以正常工作:
位置:0 位置:1 个字符:61 位置:2 字符:62 位置:3 字符:63
但是当我使用 PNG 运行它时,我得到:
位置:0 位置:147 字符:89 位置:148 字符:50 位置:149 字符:4E
请注意,文件的前 3 个字节确实是 89 50 4E 但我不知道 147 来自哪里。使用 bmp 文件,我得到:
位置:0 位置:-1 字符:42 位置:0 字符:4D 位置:1 个字符:76
你知道这些第一位置是从哪里来的吗?非常感谢你的帮助