C标准库 setvbuf函数

setvbuf()函数用于将缓冲区与流相关联。

setvbuf()函数 语法

int setvbuf(FILE*p,char*bp,int type,unsigned n);

setvbuf()函数的语法参数说明如下表所示。

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;
}

运行结果如图所示。

setvbuf()函数 示例

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程