C++ Ostream::flush() 函数



C++ 的 std::ostream::flush() 函数用于清除输出流的输出缓冲区,确保所有数据立即写入目标位置。此函数可以使用 flush 操作符调用,例如 std::cout << std::flush;。

当流关闭、缓冲区已满或系统定义的特定点时,也可以自动刷新。

语法

以下是 std::ostream::flush() 函数的语法。

ostream& flush();

参数

它不接受任何参数。

返回值

它返回 ostream 对象 (*this)。

异常

如果抛出异常,则对象处于有效状态。

数据竞争

修改流对象。

示例

在下面的示例中,我们将考虑 flush() 函数的基本用法。

#include <iostream>
int main()
{
    std::cout << "Hi" << std::flush;
    return 0;
}

输出

以上代码的输出如下:

Hi

示例

考虑以下示例,我们将对每个字符执行刷新操作。

#include <iostream>
int main()
{
    for (char x = 'C'; x <= 'G'; ++x) {
        std::cout << x << std::flush;
    }
    return 0;
}

输出

以上代码的输出如下:

CDEFG

示例

让我们看下面的示例,其中在提示“输入你的姓名:”后刷新 std::cout。

#include <iostream>
int main()
{
    std::cout << "Enter Name : " << std::flush;
    std::string a;
    std::cin >> a;
    std::cout << "Welcome, " << a << std::endl;
    return 0;
}

输出

如果我们运行以上代码,它将生成以下输出:

Enter Name : Mr.X
Welcome, Mr.X
ostream.htm
广告
© . All rights reserved.