setvbuf

来自cppreference.com
< c‎ | io

定义于头文件 <stdio.h>
int setvbuf( FILE *stream, char *buffer, int mode, size_t size );
设置给定的文件流stream的内部缓冲区.
原文:
Sets the internal buffer of the given file stream stream.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

目录

[编辑] 参数

stream - 为 FILE 结构的指针。
buffer - 用户分配的缓冲区。
mode - 缓冲模式。模式类型它可以是下列值之一:
_IOFBF 满缓冲 当缓冲区为空时,从流读入数据。或者当缓冲区满时,向流写入数据。
_IOLBF 行缓冲 每次从流中读入一行数据或向流中写入一行数据。
_IONBF 无缓冲 直接从流中读入数据或直接向流中写入数据,缓冲设置无效。


size - 分配可用缓冲长度(字节)

[编辑] 返回值

0成功或失败时返回非零值.
原文:
0 on success or nonzero on failure.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 注释

stream一直伴随着一个打开的文件后,此功能可能只使用,但是任何其他操作之前.
原文:
This function may only be used after stream has been associated with an open file, but before any other operation.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
buffer可以为null,在这种情况下,这个调用只调整内部缓冲区的大小.
原文:
buffer may be null, in which case this call only resizes the internal buffer.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 示例

#include <stdio.h>
 
int main ()
{
  FILE *pFile;
  char sBuf[1024];
  pFile=fopen ("myfile.txt","w");
  setvbuf ( pFile , sBuf, _IOFBF , 1024 );
 
  // File operations here
  fclose (pFile);
  return 0;
}


[编辑] 另请参阅

为文件流设置缓冲区
(函数) [edit]
setvbufC++文档