basic_istream::seekg
ストリームの読み取り位置を移動します。
basic_istream<Elem, Tr>& seekg(
pos_type pos
);
basic_istream<Elem, Tr>& seekg(
off_type off,
ios_base::seekdir way
);
パラメーター
pos
読み取りポインターを移動する絶対位置。off
読み取りポインターを移動する相対的な wayオフセット。way
ios_base::seekdir の列挙型の 1 つが。
戻り値
ストリーム () *this。
解説
一つ目のメンバー関数は、絶対シーク、関数が相対シークを実行する 2 番目のメンバーを実行します。
[!メモ]
標準 C++ はテキスト ファイルの相対シークをサポートしないため、テキスト ファイルとの 2 番目のメンバー関数は使用しないでください。
失敗 が false の場合は、最初のメンバー関数の呼び出し newpos = rdbuf - > pos_type の一時的なオブジェクト newposの pubseekpos ()、pos。fail が false の場合は 2 newpos 関数呼び出し rdbuf - = > pubseekoff (off、way)。いずれの場合も、() off_typenewpos のoff_type (==) (- 1) (配置操作は失敗します)、関数呼び出し istr。setstate (failbit)。関数は、両方 *this。
失敗 が true の場合、メンバー関数は何も実行しません。
使用例
// basic_istream_seekg.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
ifstream file;
char c, c1;
file.open( "basic_istream_seekg.txt" );
file.seekg(2); // seek to position 2
file >> c;
cout << c << endl;
}
入力: basic_istream_seekg.txt
0123456789
出力
2
必要条件
ヘッダー: <istream>
名前空間: std