❝通过设置setvbuf函数达到打印输出不缓冲的功能,以消除输出延时。❞
原型
代码语言:javascript复制int setvbuf(FILE *stream, char *buffer, int mode, size_t size);
- 「stream」:将缓冲区设置为文件流。
- 「buffer」:指向流使用的缓冲区的指针,或指向仅更改大小和模式的空指针。
- 「mode」:缓冲模式使用。它有以下值之一:
_IOFBF | 全缓冲 |
---|---|
_IOLBF | 行缓冲 |
_IONBF | 没有缓冲 |
- 「size」:缓冲区大小。
- 返回为0即成功,否则失败。
使用
设置标准输出缓存为0(不缓冲)。
代码语言:javascript复制setvbuf(stdout, nullptr, _IONBF, 0);