_IOFBF _IOLBF _IONBF宏
概要:
#define | _IOFBF | value //value值由具体实现定义。 |
#define | _IOLBF | value //value值由具体实现定义。 |
#define | _IONBF | value //value值由具体实现定义。 |
描述:
宏 | 英文解释 | 描述 |
_IOFBF | fully buffered | 全缓冲:字符会被累积;当缓冲填满后,缓冲内的字符作为块传输。 |
_IOLBF | line buffered | 行缓冲:字符会被累积;当缓冲填满后或者遇到换行符时,缓冲内的字符作为块传输。 |
_IONBF | unbuffered | 无缓冲:字符会被尽快地传输。 |
以上宏是ISO/IEC 9899:2018标准中定义的缓冲宏,这些宏会扩展为不同值的整型常量表达式。这些宏适合用作setvbuf函数的第三个参数。
在GCC编译器<stdio.h>头文件中,上述三个宏的定义如下所示:
#define _IOFBF 0x0000
#define _IOLBF 0x0040
#define _IONBF 0x0004
对于某些系统,会提供行缓冲;但对于Win32,宏_IOLBF与宏_IOFBF行为相同。
范例:
|
|
结果:
使用三种不同的缓冲模式创建了三个内容均为"The start is what stops most people."的文件。
相关内容:
setvbuf | 设置流缓冲的函数。 |