我的C程序中有一块很大的内存,中间有零。我想将其保存到磁盘而不将值转换为ASCII。当我稍后尝试读取该文件时,将零写入文件流会导致EOF值为负吗?
示例:
int x[1024] = {1, 2, 3, 4, 0, 0, 0, 0, 3};
// write x to disk in myfile.bin
谢谢!
答案 0 :(得分:2)
即使是文本文件,文件中的空字节也不会触发EOF。无论内容如何,命中EOF都是I / O库能够检测到的东西。
只要您使用write
或fwrite
将内存块写入磁盘,然后再使用read
或fread
来读取它,就可以了。 / p>