簡體   English   中英

插入未打開流中的數據會怎樣?

[英]What happens to the data inserted into an unopen stream?

我的直覺是數據被完全丟棄。 我似乎找不到可以證實這種懷疑的消息來源。

插入未打開流中的數據會怎樣? (例如std::ofstream

數據被丟棄了嗎? 也許將其存儲在緩沖區中,直到打開流? 也許還有什么?

如果輸出流處於失敗狀態(例如:未打開),則流不會發生任何事情-對輸出/緩沖區數據的請求將被完全忽略。

注意:如果啟用了異常std::ios_base::badbit ,則將引發該異常。

在與緩沖區操作相對應的所有文件流緩沖區方法的標准“備注”中,如果is_open() == false ,則該函數始終會失敗。 失敗定義為返回traits_type::eof() 此特殊值由更高級別的IO功能捕獲,這些功能又將std::ios_base::badbit標志設置為流狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM