文字列ストリーム、ifstream、またはユーザー定義のストリーム型である istream を使用しています。ifstream の場合、バイナリ モードで開かれていないかどうかを知る必要があります (したがって、例外をスローできます)。私は次の方法を試しました:
if ((_is.flags() & ios::binary) == 0)
throw exception(...)
ただし、例外はスローされません。この場合、_is.flags() が 0x201 を返し、ios::binary が 0x20 であるため、テストは失敗します。ストリームがテキスト モードで開かれたかどうかを確認する方法はありますか?