使用库函数fopen()打开文件时,与文件关联的缓冲区大小是多少?

3
当使用fopen()打开一个FILE时,会关联一个缓冲区来读写文件,以避免直接访问磁盘,因为这样会很昂贵。
我在一些在线教程中发现,当我们将文件加载到主内存(RAM)中时,会创建四个东西:stdin、stdout、stderror和Buffer,而这个缓冲区用于读/写文件。我想知道操作系统为此缓冲区分配了多大的空间,它是否取决于操作系统的架构?有没有可能知道它的大小?
1个回答

5

默认的缓冲区大小是在 stdio.h 中定义的宏常量 BUFSIZ。该值取决于实现。您可以使用 setvbuf() 来更改缓冲模式(完全缓冲/行缓冲/无缓冲)和缓冲区大小。

参考资料:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接