次の方法で共有


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 の一時的なオブジェクト newpospubseekpos ()、pos。fail が false の場合は 2 newpos 関数呼び出し rdbuf - = > pubseekoff (off、way)。いずれの場合も、() off_typenewposoff_type (==) (- 1) (配置操作は失敗します)、関数呼び出し istrsetstate (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

参照

関連項目

basic_istream Class

入出力ストリームのプログラミング

入出力ストリームの規則