函数名: setbuf
功 能: 把缓冲区与流相联 [1]
用 法: void setbuf(FILE *steam, char *buf); [2]
说明:setbuf函数具有打开和关闭缓冲机制。为了带缓冲进行I/O,参数buf必须指向一个长度为BUFSIZ(定义在stdio.h头文件中)的缓冲区。通常在此之后该流就是全缓冲的,但是如果该流与一个终端设备相关,那么某些系统也可以将其设置为行缓冲。为了关闭缓冲,可以将buf参数设置为NULL。
#include <stdio.h>char outbuf[BUFSIZ];
//必须是BUFSIZ,否则存在缓冲溢出可能
int main(void)
{/* 将outbuf与stdout输出流相连接 */
setbuf(stdout,outbuf);/* 向stdout中放入一些字符串 */
puts("This is a test of buffered output.");
//体现stdout的行缓冲性质fprintf(stdout,"hello world.");
/*刷新流*/fflush(stdout);/* 以下是outbuf中的内容 */
puts(outbuf);return 0;
}