请输入您要查询的百科知识:

 

词条 setvbuf
释义

函数名: setvbuf

功 能: 把缓冲区与流相关

用 法: int setvbuf(FILE *stream, char *buf, int type, unsigned size);

参数:stream :指向流的指针 ;

buf : 期望缓冲区的地址;

type : 期望缓冲区的类型:

_IOFBF(满缓冲):当缓冲区为空时,从流读入数据。或者当缓冲区满时,向流写入数 据。

_IOLBF(行缓冲):每次从流中读入一行数据或向流中写入一行数据。

_IONBF(无缓冲):直接从流中读入数据或直接向流中写入数据,而没有缓冲区。

size : 缓冲区内字节的数量。

注意:This function should be called once the file associated with the stream has already been opened but before any input or output operation has taken place.

意思是这个函数应该在打开流后,立即调用,在任何对该流做输入输出前

程序例:

#include <stdio.h>

int main(void)

{

FILE *input, *output;

char bufr[512];

input = fopen("file.in", "r+b");

output = fopen("file.out", "w");

/* set up input stream for minimal disk access,

using our own character buffer */

if (setvbuf(input, bufr, _IOFBF, 512) != 0)

printf("failed to set up buffer for input file\");

else

printf("buffer set up for input file\");

/* set up output stream for line buffering using space that

will be obtained through an indirect call to malloc */

if (setvbuf(output, NULL, _IOLBF, 132) != 0)

printf("failed to set up buffer for output file\");

else

printf("buffer set up for output file\");

/* perform file I/O here */

/* close files */

fclose(input);

fclose(output);

return 0;

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/19 17:36:19