是否需要使用自定义缓冲区在 C 或 C++ 中读取或写入文件以减少文件 I/O?
例如,如果您需要逐个读取文件条目(一次一个字符,或一次一个结构),是否建议使用缓冲区减少对 fread() 的调用次数?它对 I/O(读写)有什么影响吗?答案是否取决于操作系统或代码中没有的任何其他内容?
我知道这是推荐的,但今天有人告诉我关于setvbuf()
on stdio.h
,似乎一切都已经存在,您不需要将这种复杂性添加到您的程序中。
查看stackoverflow,我找到了一个没有投票的答案,声称使用fgetc
/setvbuf()
与. 之间没有显着差异fgets
。这是真的吗?