C++ 中的fflush() 函数将所有缓冲数据刷新到相应的设备。
缓冲数据是在特定时间之前存储在计算机物理内存中的临时或应用程序特定数据。
fflush() 函数在<cstdio> 头文件中定义。
fflush()原型
int fflush(FILE* stream);
如果stream
是输出流或更新流,其最后一个操作是输出的,则调用fflush() 函数会将任何缓冲的未写入数据写入关联的输出设备。
如果stream
是空指针,则刷新所有打开的输出流。
对于输入流和最后一次输入操作的更新流,行为未定义。
参数:
stream
:要刷新的流。
返回:
fflush() 函数返回:
- 零成功。
- EOF 失败并设置文件流的错误指示器。
示例:fflush() 函数如何工作?
#include <cstdio>
#include <cstring>
int main()
{
int x;
char buffer[1024];
setvbuf(stdout, buffer, _IOFBF, 1024);
printf("Enter an integer - ");
fflush(stdout);
scanf("%d",&x);
printf("You entered %d", x);
return(0);
}
运行程序时,输出将是:
Enter an integer - 2 You entered 2
在上面的程序中,尝试去掉fflush(stdout)
这行,运行程序看看fflush的效果。除非刷新,否则字符串“Enter an integer -”不会被写入屏幕。
相关用法
- C++ fcvt()用法及代码示例
- C++ fwscanf()用法及代码示例
- C++ fmax()用法及代码示例
- C++ fdim()用法及代码示例
- C++ fmin()用法及代码示例
- C++ fetestexcept()用法及代码示例
- C++ forward_list::unique()用法及代码示例
- C++ forward_list::emplace_front()用法及代码示例
- C++ fopen()用法及代码示例
- C++ forward_list::max_size()用法及代码示例
- C++ forward_list::reverse()用法及代码示例
- C++ feupdateenv()用法及代码示例
- C++ forward_list::swap()用法及代码示例
- C++ forward_list::front()、forward_list::empty()用法及代码示例
- C++ functional::bad_function_call用法及代码示例
- C++ find_if()用法及代码示例
- C++ find()用法及代码示例
- C++ forward_list::remove()用法及代码示例
- C++ fgetws()用法及代码示例
- C++ forward_list::operator=用法及代码示例
注:本文由纯净天空筛选整理自 C++ fflush()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。