【问题标题】:What is the size of buffer associated with file when file is open with library function fopen()?使用库函数 fopen() 打开文件时与文件关联的缓冲区大小是多少?
【发布时间】:2015-08-01 11:52:28
【问题描述】:

当使用 fopen() 打开 FILE 时,会关联一个缓冲区以从文件中写入和读取,这样做是为了避免直接访问磁盘,因为这样做成本很高。

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

【问题讨论】:

    标签: c memory-management operating-system size buffer


    【解决方案1】:

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

    参考:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-02
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      相关资源
      最近更新 更多