fread()在完成读取文件后会使指针前进吗?

时间:2013-01-26 21:51:52

标签: c file-handling

我正在尝试从C中的文件中读取并在读完之后想要写入同一个文件。我正在尝试使用fread()。有没有人知道fread在遇到“\ 0”后是否会使指针前进?我的意思是在我读完之后我需要推进指针还是我需要直接使用fwrite开始写入文件?

2 个答案:

答案 0 :(得分:2)

fread将提升文件位置(不是指针),直到它到达EOF

但是,它不会因为遇到'\0'而停止阅读。事实上,即使fgets只会在遇到\n时停止阅读。我所知道的标准库函数没有停止在'\0'读取文件。

答案 1 :(得分:1)

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

  

返回值
       函数fread()和fwrite()按流程读取或写入的字节数推进流的文件位置指示符。他们回来了        读取或写入的对象数。如果发生错误或达到文件结尾,则返回值为短对象计数(或        零)。