Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107545
  • 博文数量: 41
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 352
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-23 12:37
文章分类

全部博文(41)

文章存档

2015年(1)

2014年(28)

2013年(12)

我的朋友

分类: C/C++

2013-11-18 14:42:44

设置文件缓冲区函数
              void setbuf(FILE *stream,char *buf);
              void setvbuf(FILE *stream,char *buf,int type,unsigned size);
          这两个函数将使得打开文件后,用户可建立自己的文件缓冲区,而不使用fopen()函数打开文件设定的默认缓冲区。                
          对于setbuf()函数,buf指出的缓冲区长度由头文件stdio.h中定义的宏BUFSIZE的值决定,缺省值为512字节。当选定buf为空时,setbuf函数将使的文件I/O不带缓冲。而对setvbuf函数,则由malloc函数来分配缓冲区。参数size指明了缓冲区的长度(必须大于0),而参数type则表示了缓冲的类型,其值可以取如下值:

                  type 值             含义
                   _IOFBF        文件全部缓冲,即缓冲区装满后,才能对文件读写
                   _IOLBF        文件行缓冲,即缓冲区接收到一个换行符时,才能对文件读写
                   _IONBF        文件不缓冲,此时忽略buf,size的值,直接读写文件,不再经过文件缓冲区缓冲

阅读(1521) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~