table of contents
std::basic_ostream::seekp(3) | C++ Standard Libary | std::basic_ostream::seekp(3) |
NAME¶
std::basic_ostream::seekp - std::basic_ostream::seekp
Synopsis¶
basic_ostream& seekp( pos_type pos ); (1)
basic_ostream& seekp( off_type off, std::ios_base::seekdir dir );
(2)
Sets the output position indicator of the current associated streambuf
object.
Behaves as UnformattedOutputFunction (except without actually (since
C++11)
performing output). After constructing and checking the sentry object,
1) sets the output position indicator to absolute (relative to the beginning
of the
file) value pos by calling rdbuf()->pubseekpos(pos, std::ios_base::out).
If the call
returns (pos_type)-1, executes setstate(failbit).
2) sets the output position indicator to offset off relative to dir by
calling
rdbuf()->pubseekoff(off, dir, std::ios_base::out). If the call returns
(pos_type)-1,
executes setstate(failbit).
Parameters¶
pos - absolute position to set the output position indicator to.
off - relative position (positive or negative) to set the output position
indicator
to.
defines base position to apply the relative offset to. It can be one of the
following constants:
dir - Constant Explanation
beg the beginning of a stream
end the ending of a stream
cur the current position of stream position indicator
Return value¶
*this
Exceptions¶
1-2) May throw std::ios_base::failure in case of failure, if
exceptions() & failbit
!= 0.
Example¶
// Run this code
#include <sstream>
#include <iostream>
int main()
{
std::ostringstream os("hello, world");
os.seekp(7);
os << 'W';
os.seekp(0, std::ios_base::end);
os << '!';
os.seekp(0);
os << 'H';
std::cout << os.str() << '\n';
}
Output:¶
Hello, World!
Defect reports
The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.
DR Applied to Behavior as published Correct behavior
LWG 2341 C++98 two overloads behaved differently on failure made
consistent
See also¶
tellp returns the output position indicator
(public member function)
tellg returns the input position indicator
(public member function of std::basic_istream<CharT,Traits>)
seekg sets the input position indicator
(public member function of std::basic_istream<CharT,Traits>)
2022.07.31 | http://cppreference.com |