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 avail- able.\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 avail- able.\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. Defect reports The following behavior-changing defect reports were applied retroac- tively to previously published C++ standards. DR Applied to Behavior as published Cor- rect behavior static constant members of std::ios_base LWG 375 C++98 were cor- rected misspecified as members of std::basic_ios LWG 564 C++98 if was unclear how to reposition gptr they are repositioned by and/or pptr seekoff() 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 2024.06.10 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::basic_stringbuf::seekpos&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
