2

我正在尝试从 C 中的文件中读取,并且在我完成阅读后想要写入同一个文件。我正在尝试为此使用 fread() 。有谁知道 fread 在遇到“\0”后是否推进指针?我的意思是在我完成阅读后,我需要推进指针还是需要立即开始使用 fwrite 写入文件?

4

2 回答 2

2

fread将推进文件位置(而不是指针),直到它击中EOF.

但是,它不会仅仅因为遇到'\0'. 事实上, evenfgets只会在遇到\n. 我所知道的没有标准库函数会停止在'\0'.

于 2013-01-26T23:14:47.873 回答
1

是的,它确实会推进指针,除非您遇到 EOF 或遇到错误:

返回值
fread() 和 fwrite() 函数将流的文件位置指示符提前读取或写入的字节数。它们返回读取或写入的对象数。如果发生错误或到达文件结尾,则返回值是一个短对象计数(或零)。

于 2013-01-26T23:11:01.417 回答