fflush
函数 <cstdio>
int fflush ( FILE * stream );
刷新流
如果给定的流打开了写入(或者打开了更新,并且最后的i/o操作是一个输出操作),
则输出缓冲区中任何未写入的数据都会被写入文件。
如果stream是空指针,则所有这样的流都将被刷新。
在其他情况下,行为取决于特定的库实现。在某些实现中,
为读取而刷新打开的流会导致清除其输入缓冲区(但这不是可移植的预期行为)。
该流在调用后保持打开状态。
当一个文件被关闭时(无论是由于调用
fclose还是由于程序终止),
与它相关的所有缓冲区都会被自动刷新。
☲ 参数
stream
指向指定缓冲流的
FILE对象的指针。
☉ 返回值
0表示成功。
如果发生错误,则返回
EOF并设置错误指示符(参见
ferror)。
☣ 示例
/* fflush example */
#include <stdio.h>
char mybuffer[80];
int main()
{
FILE * pFile;
pFile = fopen ("example.txt","r+");
if (pFile == NULL) perror ("Error opening file");
else {
fputs ("test",pFile);
fflush (pFile); // flushing or repositioning required
fgets (mybuffer,80,pFile);
puts (mybuffer);
fclose (pFile);
return 0;
}
}
|
🍄 另请参阅