c - 二进制文件的打开模式



嗨,我想打开一个二进制文件进行读取和写入(不截断,不追加)。我使用模式"r+b"。我没有收到编译错误,但是当阅读我写的内容时,我得到垃圾值。任何想法。

但是如果我打开文件进行写入(模式为"wb")..写入..关闭它,然后打开文件进行读取(模式为"rb")并从中读取,然后它工作正常。

当您以读/写模式(如"r+"、"w+")打开文件时,您需要确保文件指针指向有效位置。 fseek() 是你的朋友。

此外,作为一种很好的做法,请记住始终检查函数的返回值。在这种情况下,也许你的fread()失败了,而你没有注意到它。

使用缓冲 I/O 时,您需要在读回已写入的内容之前进行刷新,以确保没有写入的数据仍然位于本地缓冲区中。

相关内容

  • 没有找到相关文章

最新更新