コンパイラ プロジェクトに C++streambuf
クラスを使用しており、ストリーム内の現在の位置を取得する便利な方法が必要です。
位置を変更するための2 つのメンバー関数streambuf::pubseekpos
と aがあり、それを読み取るためのメンバー関数 (または同様のもの) がないことにかなり混乱しています。streambuf::pubseekoff
streambuf::pubgetpos
次の 2 つの回避策が考えられます。
現在の位置を別の変数に保存し、ストリームから文字を読み取るたびに手動で変更できます。
streambuf::pubseekoff(0, ios_base::cur)
新しいストリーム位置を返すを呼び出すことができます。
2 番目のオプションは使用できるように見えますが、このような些細な作業には非効率的で見栄えがよくありません。それを行うより良い方法はありますか?