整数 26 已被视为文件末尾,如何避免这种情况?[已结束]

Integer 26 has been treated as end of file, how can I avoid this? [closed]

提问人:Huan Xie 提问时间:3/9/2019 最后编辑:Huan Xie 更新时间:3/9/2019 访问量:130

问:


编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将有助于其他人回答这个问题。

4年前关闭。

当我用来逐个读取整数数组时,它停在 26 处。我知道 26 是 ,但我怎样才能避免这种情况呢?fread()eof

int data[] = { 3,8,10,62,11,40,20,6,26,7,26,20,29,31,33,10,34,37,37,33,50,55,52,59,53,49,53,8,57,16,58,20 };
int count = fwrite(data, sizeof(int), 32, fp);

编辑: plateform 是窗口。

具有模式“RB”的 fopen 将解决此问题,感谢您的评论。

C Windows EOF Fread

评论

3赞 Weather Vane 3/9/2019
因为在一些较旧的文件系统上,文本文件使用 () 作为实际的 EOF 标记,这是文件的一部分。如果您希望文本文件中的值,它不会以单个字节为单位,而是以两个字节为单位,例如 .0x1A26260x32 0x36
10赞 Govind Parmar 3/9/2019
你用模式打开了吗?fpb
0赞 Jabberwocky 3/9/2019
你们的平台是什么?
2赞 Eugene Sh. 3/9/2019
请提供最小的可重现示例,问题可能会被重新打开。
1赞 Adrian McCarthy 3/9/2019
该问题包含足够的信息和代码来回答。投票决定重新开放。第一条评论中的信息可以扩展为一个答案,未来的访问者可能会觉得有帮助,特别是因为(令人惊讶的是)快速搜索并没有显示一个现有的问题,为这个常见的难题提供有用的信息。

答: 暂无答案