缓冲

标准IO提供缓冲的目的是尽可能减少使用read和write调用的次数。

标准IO的几种缓冲分为:

全缓冲 :在填满标准IO缓冲区后才进行实际IO操作。对于驻留在磁盘上的文件通常是由标准IO库实施全缓冲的。

行缓冲 :在这种情况下,当在输入和输出中遇到换行符时,标准I/O库执行IO操作。这允许我们一次输入一个字符(用标准I/O fputc函数),但只有在写了一行之后才进行实际I/O操作。当流涉及终端时(如标准输入和输出),通常使用行缓冲。

不带缓冲 :标准IO库不对字符进行缓冲存储。例如,如果用标准I/O函数fputs写16个字符到不带缓冲的流中,则该函数很可能用write系统调用函数将其写到相关联的打开文件上。标准出错流stderr通常是不带缓冲的。

 

ISO C要求缓冲特征:

当且仅当标准输入和标准输出并不涉及交互式设备时,它们才是全缓冲的。

标准出错绝不会是全缓冲的。

 

posted @ 2015-11-19 10:17  LarryKnight  阅读(213)  评论(0编辑  收藏  举报