Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::basic_streambuf<CharT,Traits>::pbump

      From cppreference.com
      <cpp‎ |io‎ |basic streambuf
       
       
       
      std::basic_streambuf
       
      protected:
      void pbump(int count);

      Repositions theput pointer (pptr()) bycount characters, wherecount may be positive or negative. No checks are done for moving the pointer outside the put area[pbase()epptr()).

      If the pointer is advanced and thenoverflow() is called to flush the put area to the associated character sequence, the effect is that extracount characters with undefined values are output.

      Contents

      [edit]Parameters

      count - number to add to the put pointer

      [edit]Return value

      (none)

      [edit]Notes

      Because this function takes anint, it cannot manipulate buffers larger thanstd::numeric_limits<int>::max() characters (LWG issue 255).

      [edit]Example

      Run this code
      #include <fstream>#include <iostream>#include <string> struct showput_streambuf:std::filebuf{using std::filebuf::pbump;// expose protectedstd::string showput()const{returnstd::string(pbase(), pptr());}}; int main(){    showput_streambuf mybuf;    mybuf.open("test.txt",std::ios_base::out);std::ostream str(&mybuf);    str<<"This is a test"<<std::flush<<"1234";std::cout<<"The put area contains: "<< mybuf.showput()<<'\n';    mybuf.pbump(10);std::cout<<"after pbump(10), it contains "<< mybuf.showput()<<'\n';}

      Output:

      The put area contains: 1234after pbump(10), it contains 1234 is a test

      [edit]See also

      advances the next pointer in the input sequence
      (protected member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_streambuf/pbump&oldid=158567"

      [8]ページ先頭

      ©2009-2025 Movatter.jp