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

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

Mary-Kate Olsen
發布: 2024-11-01 04:22:27
原創
402 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板