Cpp-standard-library-cpp-stringbuf-pubseekpos

提供:Dev Guides
移動先:案内検索

C ++ streambuf-pubseekpos

説明

内部位置ポインタを絶対位置に設定するために使用され、保護された仮想メンバーseekposを同じ引数posおよびwhichで呼び出します。

宣言

以下は、std
basic_streambuf :: pubseekposの宣言です。
pos_type pubseekpos (pos_type pos, ios_base::openmode which = ios_base::in | ios_base::out);

パラメーター

*off* -位置ポインタの新しい絶対位置です。

戻り値

変更された位置ポインタの新しい位置値を返します。

例外

基本的な保証-例外がスローされた場合、ストリームバッファは有効な状態です。

データの競合

ストリームバッファオブジェクトを変更します。

以下の例では、std
basic_streambuf :: pubseekposについて説明しています。
#include <iostream>
#include <fstream>

int main () {

   std::fstream filestr ("test.txt");
   if (filestr) {
      std::streambuf* pbuf = filestr.rdbuf();
      long size = pbuf->pubseekoff(0,filestr.end);
      if (size>20) {
         char buffer[11];

         pbuf->pubseekpos(10);

         pbuf->sgetn (buffer,10);

         buffer[10]=0;
         std::cout << buffer << '\n';
      }
      filestr.close();
   }
   return 0;
}