問題タブ [istream]

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.

0 投票する
4 に答える
2008 参照

c++ - C++ で operator>> を char バッファにオーバーロードする - ストリームの長さを教えてもらえますか?

私はカスタム C++ クラッシュ コースを受講しています。基本的なことは何年も前から知っていましたが、現在は記憶を新たにして、より多くのことを学ぼうとしています。そのために、(リンクされたリストに基づくスタック クラスを作成した後の) 2 番目のタスクとして、独自の文字列クラスを作成しています。

今まではかなり順調に進んでいます。cin >> my_string; のようなことができる operator>> をオーバーロードしたいと思います。問題は、istream を正しく読み取る方法がわからないことです (または、問題は、ストリームがわからないことです...)。一度に .read() を 128 バイト処理する while (!stream.eof()) ループを試してみましたが、予想どおり、EOF でしか停止しません。cin >> で std::string に取得するように、改行に読み込んでもらいたいです。

私の文字列クラスには、メモリを (再) 割り当てる alloc(size_t new_size) 関数と、その部分を行う append(const char *) 関数がありますが、明らかに、書き込む前に割り当てるメモリの量を知る必要があります。バッファ。

これを実装する方法に関するアドバイスはありますか?Seekg() と tellg() を使用して istream の長さを取得しようとしましたが、役に立ちませんでした (-1 を返します)。また、言ったように、EOF (改行で読み取りを停止しません) までループして、一度に 1 つのチャンクを読み取ります。

0 投票する
2 に答える
3266 参照

c++ - cinに何かあるか確認する方法【C++】

cinに何かがあるかどうかを確認する方法はありますか? 私は peek() を試しましたが、何もない場合、 peek() は入力を待ちます。それは私が望むものではありません。ありがとうございました

0 投票する
3 に答える
6760 参照

c# - C# と IStream.Read

C# からSystem.Runtime.InteropServices.ComTypes.IStreamを使用しようとしていますが、問題が発生しています。MSDN によると、C# の定義は次のようになります。

基本的に、ストリームからデータを読み取ることができますが、上記の "pcbRead" 値は常に "0" です (バイト配列にデータが含まれている場合でも)。いくつかの読み取りを行うと、pcbRead 引数を適切に設定するのはやや難しいようです (ただし、私は C# にかなり慣れていません)。

とにかく、私のコードは基本的に次のようになります。

ここでも問題は、"buffer" には有効なデータが含まれているように見えますが、読み取り後も "myPtr" にはまだ "0" が含まれていることです。

0 投票する
2 に答える
1942 参照

c++ - std::istream からの SDL_RWops の読み取り

Google が解決策を見つけられなかったことに非常に驚いています。SDL_RWops を std::istream で使用できるようにするソリューションを探しています。SDL_RWops は、SDL でデータを読み書きするための代替メカニズムです。

問題に取り組むサイトへのリンクはありますか?

明らかな解決策は、メモリに十分なデータを先読みしてから SDL_RWFromMem を使用することです。ただし、これには事前にファイルサイズを知る必要があるという欠点があります。

SDL_RWops関数を「オーバーライド」することで、問題を解決できるようです...

0 投票する
3 に答える
6710 参照

c++ - C ++でジェネリックistreamを宣言する

実行時にプログラムに渡されるパラメーターに応じて、ifstream または cin から読み込むプログラムを作成する必要があります。

私は次のことを計画していました:

ただし、istream は保護されており、istream を宣言することはできません。そのようなジェネリックをストリームで宣言する方法はありますか?

0 投票する
1 に答える
81 参照

c++ - データ型を入力ストリームとして扱うことは可能ですか?

eof.txtには2文字の行があるため、「9r」が含まれている場合、「9r」はmoveのデータメンバーに格納されます(簡単にするために公開しました)。これが機能することを確認するために、moveのデータを出力し、十分に機能することを確認します

私がやろうとしているのは、これと同じ演算子を使用することですが、たとえばファイルやstdinから入力を取得する代わりに、目的の入力を保持するデータメンバーがあります。したがって、主に、「1d」のchar配列がある場合、同じことを行うために同じ関数を(変更せずに)使用できる必要があります。

これは可能ですか?助けていただければ幸いです。

0 投票する
3 に答える
1461 参照

c++ - 入力ストリームの反復子と例外

数日前に istream イテレータと例外処理をいじっていたところ、次のような好奇心に出くわしました。

入力ファイルの最後の単語を読み取った後に常に failbit 例外が発生するのはなぜですか?

0 投票する
4 に答える
14368 参照

c++ - cin またはファイルから読み取る

コードをコンパイルしようとすると

operator=gcc は失敗し、プライベートであると不平を言います。istream条件に基づいて異なる値に設定する方法はありますか?

0 投票する
5 に答える
180372 参照

c++ - C++ ファイルストリーム (fstream) を使用して、ファイルのサイズをどのように判断できますか?

マニュアルでこれを見逃しただけだと思いますが、ヘッダーistreamから C++ のクラスを使用してファイルのサイズ (バイト単位) をどのように決定しますか?fstream