📜  C++ fflush()

📅  最后修改于: 2020-09-25 08:15:48             🧑  作者: Mango

C++中的fflush() 函数将所有缓冲的数据刷新到相应的设备。

缓冲数据是在特定时间之前存储在计算机物理内存中的临时或特定于应用程序的数据。

fflush() 函数在头文件中定义。

fflush()原型

int fflush(FILE* stream);

如果stream是最后一个操作已输出的输出流或更新流,则调用fflush() 函数会将所有缓冲的未写入数据写入关联的输出设备。

如果stream是空指针,则刷新所有打开的输出流。

对于输入流和更新最后输入操作的流,此行为未定义。

fflush()参数

fflush()返回值

fflush() 函数返回:

示例:fflush() 函数如何工作?

#include 
#include 

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的效果。除非刷新,否则不会将字符串 “输入整数-“写入屏幕。