C二进制读取替代字符代码:: blocks

时间:2019-01-25 16:20:44

标签: c binary

我读取文件中的二进制数据。代码如下:

        fread (buffer, sizeof(char), 8, fid);
        int i;
        printf("buffer ");
        for (i=0; i <8; i++)
            printf("%02X ", buffer[i] & 0x00ff);
        printf("\r\n");

文件包含以下数据。 1个字节为0x1A(替代字符)。 data file: 读取0x1A字节时,读取后的所有字节都不会更新,如下所示,所有行保持不变:

buffer FE 80 FA C0 00 80 00 0A
buffer 05 80 E4 C0 00 C0 00 0A
buffer 09 40 F0 C0 FD C0 00 0A
buffer 0A 40 0E 40 FA 00 00 0A
buffer F8 80 42 C0 00 C0 00 0A
buffer FF 80 2B 80 F8 80 00 0A
buffer 08 C0 2B 80 F8 80 00 0A
buffer 08 C0 2B 80 F8 80 00 0A
buffer 08 C0 2B 80 F8 80 00 0A
buffer 08 C0 2B 80 F8 80 00 0A
buffer 08 C0 2B 80 F8 80 00 0A
buffer 08 C0 2B 80 F8 80 00 0A
buffer 08 C0 2B 80 F8 80 00 0A
buffer 08 C0 2B 80 F8 80 00 0A

为什么C语言中存在此问题? 我该怎么解决?

最好的问候。 米奇

1 个答案:

答案 0 :(得分:-1)

非常感谢退休的忍者,我忘了fopen(pNameTabIn,“ rb”)的b了