C ++ストリームのオープンに失敗したときに特定のエラー状態を取得する方法はありますか?つまり、ファイルが存在しなかったために失敗したか、アクセス許可が間違っていたかなどです。基本的に、プレーンCのfopen()のerrnoと同等の機能を探しています。
GCCはerrnoを適切に設定しているようですが、それはC ++標準では必要とされていないようで、これがストリームの実装方法のアーティファクトなのか、それとも意図的な機能なのかを判断できません(したがって、私はそうしません)バージョン間で存続するかどうかを確認してください)。
標準のC++で、または1つ以上の主要なコンパイラで偶然ではなく、この情報を確実に取得する方法はありますか?