失敗した ifstream オープンでのエラー メッセージの取得
ifstream クラスを使用してファイルを開く場合、潜在的なエラーを処理することが不可欠です。 failed() メソッドを使用すると、オープンの失敗を確認できますが、「ファイルが見つかりません」など、失敗の原因に関する情報は提供されません。
幸いなことに、システムのエラー メッセージを参照して、失敗の詳細な説明を取得します。システムコールが失敗するたびに、グローバル errno 変数が更新されます。このエラーを利用すると、
cerr << "Error: " << strerror(errno);
を使用して障害に関する詳細情報を収集できます。マルチスレッド アプリケーションでは、他のシステム コールがエラーをトリガーし、strerror の前に errno を更新する可能性があるため、このアプローチは慎重に使用する必要があります。関数が呼び出されます。
POSIX 標準に準拠しているシステムの場合、errno 値はスレッドローカルであり、1 つのスレッドでの設定は影響を与えません。
e.what() は最初はより C 固有のメソッドのように見えますが、返される文字列は実装に依存します。 G の libstdc では、この文字列は有用な障害情報を提供しないことがよくあります。
以上が失敗した「ifstream」オープンから詳細なエラーメッセージを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。