0

ファイル全体をバッファに読み込むコードがあります。私の目的では、そのようなファイルのサイズが 10MB を超えていないことを保証できます...ファイル全体の読み取りを行う際のスラッシングや実際のパフォーマンスの問題を心配する必要がないほど十分に小さいです。

さらに、現在、結果のファイル全体のバッファーで isstrstream を使用して、一度に 1 行ずつ抽出しています。これは見事に機能し、基になる文字列データを一度に 1 行ずつ消費することができます。

ただし、現在の isstrstream の位置を保存して、後で「そこにジャンプ」できるかどうかを確認する必要があります。つまり、isstrsteam をコピーして、通常はそれを値オブジェクトとして扱います。これは isstrstreams の合理的な使用が許可/保証されていますか?

問題がある場合は、VS2010 を使用しています。

また、このようなもの (stackoverflow 以外) に対する回答をどのように調べますか? いくつかのグーグル検索を行うと、isstrsteam の個々のメソッドに関するデータのランダムなポイントがたくさんわかり、関連するクラス (基本クラス、兄弟、またはサブクラス) に関するさまざまな情報が得られます。しかし、上記の質問への回答は (私には) あまり明確ではありません。

4

1 に答える 1

0

メンバー istream<>::tellg() および istream<>::seekg() を使用して、fgetpos および fsetpos と同様に、ストリーム位置を保存/復元できます。

istrstream は、istringstream と同様にこれらのメソッドをサポートしています。

于 2011-11-18T21:01:29.823 に答える