C 语言标准库函数 - setbuf()
C 语言函数库 <stdio.h> 函数 void setbuf(FILE stream, char buffer) 定义流 stream 应如何缓冲。
该函数应在与流 stream 相关的文件被打开时,且还未发生任何输入或输出操作之前被调用一次
头文件
#include <stdio.h>
函数原型
下面是 setbuf() 函数的原型
void setbuf(FILE *stream, char *buffer)
参数
- stream :这是指向 FILE 对象的指针,该 FILE 对象标识了一个打开的流。
- buffer : 这是分配给用户的缓冲,它的长度至少为 BUFSIZ 字节,BUFSIZ 是一个宏常量,表示数组的长度。
返回值
无
范例
下面的范例演示了 setbuf() 函数的用法。
/** * file: main.c * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ #include <stdio.h> int main() { char buf[BUFSIZ]; setbuf(stdout, buf); puts("简单教程,简单编程"); fflush(stdout); return(0); }
编译运行以上范例,输出结果如下。在这里,程序在即将输出的时候,发送输出到 STDOUT,否则它将缓冲输出。
我们也可以使用 fflush() 函数来刷新输出
$ gcc main.c && ./a.out
简单教程,简单编程