fflush -- 将缓冲区内的数据写入指定的文件中
fflush 函数文档函数概要:
fflush 函数用于将缓冲区内的数据强制写入指定的文件中。
函数原型:
#include <stdio.h>
...
int fflush(FILE *stream);
参数解析:
参数含义
stream1. 该参数是一个 FILE 对象的指针,指定待更新的文件对象
2. 如果该参数是 NULL,则更新所有打开的文件
返回值:
1. 如果函数调用成功,返回值是 0;
2. 如果函数调用失败,返回 EOF 并设置 errno 为指定的错误。
演示:
#include <stdio.h>
#include <string.h>
int main(void)
{
char buff;
memset(buff, '\0', sizeof(buff));
// 指定 buff 为缓冲区,_IOFBF 表示当缓冲区已满时才写入 stdout
setvbuf(stdout, buff, _IOFBF, 1024);
fprintf(stdout, "This is bbs.fishc.com\n");
fprintf(stdout, "This output will go into buff\n");
// fflush强制将上面缓存中的内容写入stdout
fflush(stdout);
fprintf(stdout, "this will appear when progream\n");
fprintf(stdout, "will come after sleeping 5 seconds\n");
sleep(5);
return 0;
}
#argv.py
import sys
print(sys.argv) 有点没看懂,第一次接触fflush是在学指针的时候{:10_245:} 为什么用过fflush后再输出的内容都是乱码{:10_266:} 小甲鱼老师,我想问一个问题。
就是说,如果我不用fflush,让这些内容停在缓冲区里,程序结束时就会输出乱码。请问是为什么?谢谢{:10_256:}
页:
[1]