setbuf() - C语言库函数
C库函数 void setbuf(FILE *stream, char *buffer) 定义如何流应该被缓冲。一旦与该流关联的文件已经被打开,但在此之前任何输入或输出操作已经发生,应该调用该函数。
声明
下面是函数setbuf()函数的声明。
void setbuf(FILE *stream, char *buffer)
参数
-
stream -- 这是一个文件对象标识一个开放的流指针。
-
buffer -- 这是用户分配的缓冲区。这应该有一个长度至少为BUFSIZ个字节,这是此数组的长度被用来作为一个宏常数
返回值
该函数不返回任何值。
例子
下面的例子显示了函数setbuf()函数的用法。
#include <stdio.h> int main() { char buf[BUFSIZ]; setbuf(stdout, buf); puts("This is yiibai"); sleep(5); fflush(stdout); return(0); }
让我们编译和运行上面的程序,这将产生以下结果。这里的程序发送输出到标准输出,刚刚才弄出来,否则它保持缓冲输出。您还可以使用fflush()函数来刷新输出。
This is yiibai