C语言 库函数 setbuf()

C语言 标准库 - <stdio.h>C语言 标准库 - <stdio.h>

C 库函数 void setbuf(FILE *stream, char *buffer) 定义流 stream 应如何缓冲。该函数应在与流 stream 相关的文件被打开时,且还未发生任何输入或输出操作之前被调用一次。

 

1. 声明

下面是 setbuf() 函数的声明。

void setbuf(FILE *stream, char *buffer)

 

2. 参数

  • stream -- 这是指向 FILE 对象的指针,该 FILE 对象标识了一个打开的流。
  • buffer -- 这是分配给用户的缓冲,它的长度至少为 BUFSIZ 字节,BUFSIZ 是一个宏常量,表示数组的长度。

 

3. 返回值

该函数不返回任何值。

 

4. 实例

下面的实例演示了 setbuf() 函数的用法。

#include <stdio.h>

int main()
{
   char buf[BUFSIZ];

   setbuf(stdout, buf);
   puts("This is codebaoku");

   fflush(stdout);
   return(0);
}

让我们编译并运行上面的程序,这将产生以下结果。在这里,程序在即将输出的时候,发送输出到 STDOUT,否则它将缓冲输出。您也可以使用 fflush() 函数来 to 刷新输出。

This is codebaoku

C语言 标准库 - <stdio.h>C语言 标准库 - <stdio.h>

C语言 库函数 setvbuf():C 库函数 int setvbuf(FILE *stream, char *buffer, int mode, size_t size) 定义流 stream 应如何缓冲。1. 声明:int setvbuf(FILE *stream, char *buffer, int mode, size_t size)。3. 返回值:如果成功,则该函数返回 0,否则返回非零值。