我正在尝试从C中的文件中读取并在读完之后想要写入同一个文件。我正在尝试使用fread()。有没有人知道fread在遇到“\ 0”后是否会使指针前进?我的意思是在我读完之后我需要推进指针还是我需要直接使用fwrite开始写入文件?
答案 0 :(得分:2)
fread
将提升文件位置(不是指针),直到它到达EOF
。
但是,它不会因为遇到'\0'
而停止阅读。事实上,即使fgets
只会在遇到\n
时停止阅读。我所知道的标准库函数没有停止在'\0'
读取文件。
答案 1 :(得分:1)
是的,除非你遇到EOF或遇到错误,它确实会推进指针:
返回值
函数fread()和fwrite()按流程读取或写入的字节数推进流的文件位置指示符。他们回来了 读取或写入的对象数。如果发生错误或达到文件结尾,则返回值为短对象计数(或 零)。