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

pra*_* pp 3 c size buffer operating-system memory-management

当使用fopen()打开FILE时,与其关联的缓冲区用于从文件写入和读取,这样做是为了避免直接访问磁盘,因为它很昂贵.

我在一些在线教程中发现,当我们将文件加载到主内存(RAM)时,四个东西被创建stdin,stdout,stderror,Buffer和这个缓冲区用于读/写文件,我很想知道多大的操作系统为此缓冲区分配是否依赖于OS体系结构?有没有可能知道它的大小?

Lv *_*eng 5

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

参考: