函数名: setbuf

头文件:<stdio.h>

函数原型: void setbuf(FILE *steam, char *buf);

功 能: 把缓冲区与流相联,实现操作缓冲区时直接操作了文件流的功能

参数:FILE *stream  为要处理的流

          char *buf     为要处理的缓冲区

返回值: 没有返回值 


程序例:  将标准文件流指定缓冲区outbuf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
 
char outbuf[BUFSIZ];
 
int main(void){
 
   setbuf(stdout, outbuf);  //将缓冲区与流相关联
 
   puts("This is a test of buffered output.\n\n");  //将字符写入缓冲区
 
   puts("This output will go into outbuf\n");
 
   puts("and won't appear until the buffer\n");
 
   puts("fills up or we flush the stream.\n");
 
   fflush(stdout);  //刷新缓冲区
 
   return 0;
 
}

运行结果

1
2
3
4
5
6
7
8
This is a test of buffered output.
  
  
This output will go into outbuf
  
and won't appear until the buffer
  
fills up or we flush the stream.


点赞(247)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)
#include<stdio.h>
int main()
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX