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