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
廣告