FreeBSD Manual Pages
std::basic_...buf::seekpos(3) C++ Standard Libarystd::basic_...buf::seekpos(3) NAME std::basic_stringbuf::seekpos - std::basic_stringbuf::seekpos Synopsis protected: virtual pos_type seekpos(pos_type sp, std::ios_base::openmode which = std::ios_base::in | std::ios_base::out ); Repositions std::basic_streambuf::gptr and/or std::basic_stream- buf::pptr, if possible, to the position indicated by sp Effectively executes seekoff(off_type(sp), std::ios_base::beg, which) Parameters sp - stream position, such as one obtained by seekoff() or seek- pos() defines whether the input sequences, the output sequence, or both are affected. It can be one or a combination of the following constants: which - Constant Explanation in affect the input sequence out affect the output sequence Return value sp on success or pos_type(off_type(-1)) on failure. Notes seekpos() is called by std::basic_streambuf::pubseekpos(), which is called by the single-argument versions of std::basic_istream::seekg() and std::basic_ostream::seekp() Example // Run this code #include <sstream> #include <iostream> struct mybuf : std::stringbuf { mybuf(const std::string& str) : std::stringbuf(str) {} pos_type seekpos(pos_type sp, std::ios_base::openmode which) { std::cout << "Before seekpos(" << sp << "), size of the get area is " << egptr()-eback() << " with " << egptr()-gptr() << " read positions available\n"; pos_type rc = std::stringbuf::seekpos(sp, which); std::cout << "seekpos() returns " << rc << ".\nAfter the call, " << "size of the get area is " << egptr()-eback() << " with " << egptr()-gptr() << " read positions available\n"; return rc; } }; int main() { mybuf buf("12345"); std::iostream stream(&buf); stream.seekg(2); } Output: Before seekpos(2), size of the get area is 5 with 5 read positions available seekpos() returns 2. After the call, size of the get area is 5 with 3 read positions avail- able See also pubseekpos invokes seekpos() (public member function of std::basic_stream- buf<CharT,Traits>) seekoff repositions the next pointer in the input sequence, out- put sequence, or [virtual] both, using relative addressing (virtual protected member function) seekpos repositions the file position, using absolute addressing [virtual] (virtual protected member function of std::basic_file- buf<CharT,Traits>) seekpos repositions the next pointer in the input sequence, out- put sequence, or [virtual] both using absolute addressing (virtual protected member function of std::strstreambuf) http://cppreference.com 2022.07.31 std::basic_...buf::seekpos(3)
NAME | Synopsis | Parameters | Return value | Notes | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::stringbuf::seekpos&sektion=3&manpath=FreeBSD+Ports+15.0>
