私のコードでは、iostreamへの参照が渡されています。この場合、最終的にファイルになります。
開かれたときに、[in]だけでなく[in | out]に設定されているかどうかを調べる方法はありますか?iostreamに書き込めるかどうか尋ねることはできますか?
7
A
答えて
3
の種類、ostreamに、私が使用openmode
フラグを取得する方法を見ていません。私はあなたの参照に何かを書いて、それがスローするエラーをキャッチしようとする必要がありますね。または、設定方法によっては、bad()の結果を確認してください。
-2
... IOS、入出力ストリームのすべてのメンバーを見た後
if (dynamic_cast<ostream*>(MyStreamPtr) == 0)
{
// Not for output...
}
1
openmode
はstd::streambuf
に引き渡されますが、取得する方法はありません。書き込み操作のためにファイルが開いているかどうかを知る唯一の方法は、f.fail()
、または場合によってはf.bad()
(f.rdstate() & std::fstream::badbit
に相当)の書き込みとチェックを試みることです。
関連する問題
- 1. パラメータがあるかどうか尋ねることはできますか?
- 2. アプリケーションルートからモジュールを検索するために 'require'と尋ねることはできますか?
- 3. MySQLに重ね書き/追加バッチ書き込みを混在させることはできますか?
- 4. dtraceにどのプローブが有効になっているか尋ねることができますか?
- 5. なぜsudoにパスワードを尋ねることができないのですか?
- 6. iostreamヘッダーファイルをカスタム名前空間に含めることはできますか?
- 7. ユーザーがロケーションサービスを使用するかどうかを尋ねるときにアプリケーションがクラッシュする
- 8. MySQL Clusterに書き込まれるデータはどこですか?
- 9. Android NDKにiostreamを含めることはできません
- 10. 同じことを二度尋ねるのを止めるプログラムですか?
- 11. Formatterでファイルに書き込むことはできますか?
- 12. ユーザーに尋ねることなくブロガーをカスタムドメインにリダイレクトするにはどうすればよいですか?
- 13. DynamoDBグローバルセカンダリインデックスに書き込むことはできますか?
- 14. std :: stringに書き込むことはできますか?
- 15. ログファイルにアサートメッセージを書き込むことはできますか?
- 16. は、尋ねる
- 17. どのように要素を重ねることができますか?
- 18. モジュールはファイルをどこに書き込むべきですか?
- 19. Ninjectここで尋ねたこの質問に続き
- 20. generalPasteboardに何かが書き込まれたときに通知を受けることはできますか?
- 21. iostreamのようなインターフェイスをロギングライブラリに書き込む方法は?
- 22. サブ定義内のクラスの属性を尋ねることはできますか?
- 23. RegisterTypeLibがwin32またはwin64に書き込むかどうかを決めるのは何ですか?
- 24. xPagesのボタンからテキストファイルに書き込むことはできますか?
- 25. _( "書き込みエラー")とはどういう意味ですか?
- 26. どうやってカードを積み重ねることができますか?
- 27. NSLog()の出力はどこに書き込まれますか?
- 28. ファイルへの書き込みはどこから来ますか?
- 29. log4perlはどのようにしてSTDERRとファイルに同時に書き込むことができますか?
実際には「iostream」ですか?もしそうなら、それは 'istream'と' ostream'の両方を継承し、したがって書き込み可能です。ベースクラスの 'ios'を参照している場合は、RTTIまたはテンプレート関数のどちらかを使用しています。 –
std :: fstream f( "/ work/file.txt"、std :: ios_base :: in); -fはostreamを継承しますが、書き込みはできません。 –
しかし、ファイルに書き込むことができるかどうかを知りたい人を悩ませることを除いて、なぜあなたはそれをしますか? – UncleBens