首頁  >  文章  >  後端開發  >  為什麼在建立檔案時 `std::fstream::open()` 會拋出「沒有這樣的檔案或目錄」錯誤?

為什麼在建立檔案時 `std::fstream::open()` 會拋出「沒有這樣的檔案或目錄」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-01 04:22:27327瀏覽

Why Does `std::fstream::open()` Throw a

std::fstream 的檔案建立問題

問題:

問題:
<code class="cpp">std::fstream my_stream;
my_stream.open("my_file_name", std::fstream::binary | std::fstream::in | std::fstream::out);
if (!my_stream)
    std::cout << "error" << strerror(errorno);</code>

使用std 時: :fstream 用於檔案I/O,在嘗試建立檔案時遇到「沒有此類檔案或目錄」的錯誤訊息如果它尚不存在。具體來說,以下程式碼片段導致了該問題:

如何解決此問題以確保在必要時建立檔案?

答案:
<code class="cpp">// Remove std::fstream::in
std::fstream my_stream;
my_stream.open("my_file_name", std::fstream::binary | std::fstream::out);

// Add std::fstream::trunc
std::fstream my_stream;
my_stream.open("my_file_name", std::fstream::binary | std::fstream::in | std::fstream::out | std::fstream::trunc);</code>
如果在模式參數中指定了 std::fstream::in,則 fstream::open() 函數需要一個不存在的檔案。若要解決此問題,請從模式標誌中移除 std::fstream::in 或在現有標誌旁邊新增 std::fstream::trunc。

以上是為什麼在建立檔案時 `std::fstream::open()` 會拋出「沒有這樣的檔案或目錄」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn