basic_filebuf::seekpos
EXECUTE ステートメント ストリームの現在位置を変更します。
virtual pos_type seekpos(
pos_type _Sp,
ios_base::openmode _Which = ios_base::in | ios_base::out
);
パラメーター
_Sp
に検索する位置。_Which
ポインターの位置にモードを指定します。 既定では、変更や位置を記述できることです。
戻り値
ファイル ポインター fp が null ポインターの場合、この関数は失敗します。 それ以外の場合は fposn が posに格納されている fpos_t オブジェクトである場合は fsetpos (fp、&fposn) を呼び出して、ストリームの位置を変更するときにコミットします。 この関数が正常終了すると、関数の戻り値 pos。 それ以外の場合は、無効なストリーム内の現在の位置を返します。 ストリームの位置が無効かどうかを確認するには、pos_type(off_type(-1))で戻り値を比較します。
解説
プロテクト仮想メンバー関数関数はステートメント ストリームの現在位置を変更するときにコミットします。 クラス basic_filebuf<Elem、Tr>オブジェクトに対して、ストリームの位置は、広範なストリームを解析するために必要なオフセット、および状態情報を格納する型 fpos_tオブジェクトで表すことができます。 オフセットは、ストリームの一つ目の要素を指定します。(型の pos_type ストア オブジェクト少なくとも fpos_t オブジェクト)。
読み取りと書き込みの両方のモードで開かれたファイルで入力と出力ストリームは、連携して配置されます。 挿入、) を切り替えるには、pubseekoff または pubseekposを呼び出す必要があります。 pubseekoff の呼び出し (したがって、seekoff) テキスト ストリーム、バイナリ ストリームと、ストリームのさまざまな制限があります。
以降の広範なストリームにストリームが開いて、または streamposへの最後のオーダー、挿入が行われた場合は関数呼び出し オーバーフローから。 また、最初の変換状態に戻すために必要に応じて fac.unshift を呼び出すときにファイルの変換fac ファセットを使用して必要なシーケンスを挿入します。 したがって、生成された型 char の各要素 byte は、ファイル ポインター fp で指定されている関連のストリームにフォーム fputc (byte、fp) の連続呼び出しによって記述されます。 fac.unshift への呼び出しに失敗すると、関数が成功する場合。
必要条件
ヘッダー: の <fstream>
名前空間: std