ファイルの作成時に `std::fstream::open()` が「そのようなファイルまたはディレクトリはありません」エラーをスローするのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-01 04:22:27
オリジナル
319 人が閲覧しました

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

std::fstream でのファイル作成の問題

質問:

std を使用する場合:ファイル I/O の :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::in が指定されている場合、fstream::open() 関数には存在しないファイルが必要です。この問題を解決するには、モード フラグから std::fstream::in を削除するか、既存のフラグの横に std::fstream::trunc を追加します。

<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::open()` が「そのようなファイルまたはディレクトリはありません」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!