将包含零的二进制文件写入Linux文件系统

时间:2018-07-26 18:07:36

标签: c linux filesystems

我的C程序中有一块很大的内存,中间有零。我想将其保存到磁盘而不将值转换为ASCII。当我稍后尝试读取该文件时,将零写入文件流会导致EOF值为负吗?

示例:

int x[1024] = {1, 2, 3, 4, 0, 0, 0, 0, 3};
// write x to disk in myfile.bin

谢谢!

1 个答案:

答案 0 :(得分:2)

即使是文本文件,文件中的空字节也不会触发EOF。无论内容如何,​​命中EOF都是I / O库能够检测到的东西。

只要您使用writefwrite将内存块写入磁盘,然后再使用readfread来读取它,就可以了。 / p>