setvbuf()函数用于将缓冲区与流相关联。
setvbuf()函数 语法
int setvbuf(FILE*p,char*bp,int type,unsigned n);
setvbuf()函数的语法参数说明如下表所示。
setvbuf()函数关联成功时返回0,否则返回非0值。
setvbuf()函数 示例
本示例使用setvbuf函数将缓冲区与流实现指定大小、指定类型的关联,其具体代码如下所示:
#include<stdio.h>
int main(void)
{
FILE*input,*output;
char bufr[512];
input=fopen("file.in","r+b");/*打开文件*/
output=fopen("file.out","w");/*打开文件*/
if(setvbuf(input,bufr,_IOFBF,512)!=0)/*关联缓冲区与流*/
printf("failed to set up buffer for input file ");
else
printf("buffer set up for input file ");/*输出提示信息*/
if(setvbuf(output,NULL,_IOLBF,132)!=0)/*关联缓冲区与流*/
printf("failed to set up buffer for output file ");
else
printf("buffer set up for output file ");/*输出提示信息*/
fclose(input);/*关闭文件*/
fclose(output);/*关闭文件*/
return 0;
}
运行结果如图所示。