我在一个文件上写了一系列char,由random int生成。 有时文件会显示SUB char,它应该是在被识别为无效或错误的字符位置使用的char。 当我必须读取此文件时,我使用函数fcsanf(),但当fcanf()读取SUB char时读取结束。
这是我正在使用的循环:
while(fscanf(f, "%c", &buffer) != EOF){
...
}
我只需要在找到SUB char后继续读取,并将SUB char视为它所代表的位序列。
编辑:我正在添加我的代码图片,因为它似乎有格式问题。enter image description here
答案 0 :(得分:0)
以二进制模式打开文件,以便stdio
不会特别处理某些控制字符。在您的情况下,ASCII SUB
字符是DOS文件结束指示符。
使用
f = fopen("fiename", "rb");