ifstream::readsome(buf, size)
バッファに十分なスペースがない場合、メソッドがすべてのバイトを読み取らないことを調査しました。例:
私はバッファを持っています:4096バイト。ファイルの先頭からのオフセット: 6 バイト。私は電話します ifstream::readsome(buf, 4097)
。
関数の結果は 4090 です。したがって、残りの 7 バイトを読みたい場合は、呼び出す必要があります
ifstream::readsome(buf + 4090, 7)
.
問題は、なぜこの機能がそのように実装されているのかということです。method 内でバッファを超える処理に問題はありませんifstream::readsome(buf, size)
。
コンパイラ: MSVC 11 (VS 2012)
回答ありがとうございます。