在C 中,標準輸出流(std::cout) 是緩衝的,這意味著它在將數據發送到實際輸出設備之前累積數據。這種行為可能會導致意外情況,其中 std::cout 似乎沒有列印任何內容。
為了確保立即顯示數據,刷新流至關重要寫完後。這可以使用 std::endl 流操縱器來實現,它既輸出換行符又刷新流。
std::cout << "Hello" << std::endl;
或者,std::flush 流操縱器可用於刷新流,而無需輸出任何其他字元。
std::cout << "Hello"; std::cout.flush();
如果刷新無法解決對於該問題,您可以檢查流的狀態以確定其是否可運行。有幾個成員函數可用於此目的,包括:
考慮以下程序:
#includeint main() { std::cout << "Hello" << std::endl; return 0; }
如果執行程序,將顯示「Hello」如預期顯示。但是,如果刪除 std::endl flash,則在程式終止之前可能不會出現輸出。
以上是為什麼我的 `std::cout` 不印?的詳細內容。更多資訊請關注PHP中文網其他相關文章!