問題タブ [istream-iterator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - istream_iterator、黒魔術?
2 番目の引数 for_each が空の反復子である理由がわかりません。誰かが私にこれを説明できますか?
c++ - ファイル istream イテレータの理解
おそらく、istream_iterator またはイテレーター全般についての理解が不足していると思われますが、これら 2 つのコード スニペットで同じ結果が得られるのではないでしょうか?
出力: 123
何も出力しません。
c++ - istream_iterator を使用するときに最後の空白行を無視する方法
次のような 2D 点の単純なテキスト ファイルがあるとします。
IO に単純な構造体を使用します。
私の元のコードは次のとおりです。
これは問題なく動作しますが、生のループがないという精神で、for ループを取り除きたいと思います。
ここに私の新しいコードがあります:
すべてが正常にコピーされますが、残念ながら、最後の空白行を読み取ると、フェイル ビットが設定されます。
これを修正する唯一の方法は、ちょっと醜いです。私はできた:
point::operator>>()
関数に try-catch 句を入れるvec.size()
すでに存在する catch 句をチェックインします。
最後の空白行を無視するエレガントな方法はありますか?
c++ - バイナリファイルを「unsigned char」ベクトルに読み取るときのテンプレート引数は何ですか
このコードの何が問題になっていますか?
それは私にこれを与えます:
そして、これを次のように変更すると:
それはこれを訴えます:
c++ - ベクター Ctor で istream_iterators を使用できないのはなぜですか?
私はこれをしたい:
しかし、コンパイラはそれをベクトル範囲 ctor として認識するのではなく、関数のプロトタイピングを行っていると見なします。
何が起こっているのかをコンパイラに知らせる方法はありますか?
c++ - istream_iterator を使用して文字列を読み取る
イテレータを介して文字列を読み取ることが、直接読み取ることとどのように異なるのか正確にはわかりません。例として、以下のコードを検討してください。
それが何をするかは明らかで、str
を使用して読み取り、従来の方法istream_iterator
で読み取ります。str1
2 つの質問があります。
- 文字列反復子を介して読み取りを終了する唯一の方法は、
CTRL+D
(Unix) を送信することです。これもプログラムを終了させるため、2 番目の部分は実行されません。これを回避する方法はありますか? - イテレータで読み取る場合、空白 (スペース、\t、\n) を入力してもイテレータは読み続けます。この動作が を介して直接読み取るときの動作と異なるのはなぜ
cin >>
ですか?
c++ - istreambuf_iterator を使用する場合と使用しない場合の ifstream の違いは何ですか?
ヘッダーとデータを含むバイナリ ファイルを (一度に) 読み取る必要があります。C++ でファイルを読み取るにはさまざまな方法がありますが、どの方法が最も高速で信頼性が高いかを知りたいです。reintrerpret_cast
また、生データを構造体に変換する最良の方法 かどうかもわかりません。
編集: ヘッダー構造には機能がなく、データのみがあります。
これは istreambuf_iterator なしの ifstream です
これは ifstream WITH istreambuf_iterator です
これもネットで発見