std::basic_streambuf<CharT,Traits>::pubseekpos, std::basic_streambuf<CharT,Traits>::seekpos

From cppreference.com
< cpp‎ | io‎ | basic streambuf
 
 
Input/output library
I/O manipulators
Print functions (哋它亢++23)
C-style I/O
Buffers
(哋它亢++23)
(哋它亢++98/26*)
(哋它亢++20)
Streams
Abstractions
File I/O
String I/O
Array I/O
(哋它亢++23)
(哋它亢++23)
(哋它亢++23)
(哋它亢++98/26*)
(哋它亢++98/26*)
(哋它亢++98/26*)
Synchronized Output
(哋它亢++20)
Types
Error category interface
(哋它亢++11)
(哋它亢++11)
 
 
pos_type pubseekpos( pos_type pos,
                     std::ios_base::openmode which = std::ios_base::in | std::ios_base::out );
(1)
protected:

virtual pos_type seekpos( pos_type pos,

                          std::ios_base::openmode which = std::ios_base::in | std::ios_base::out );
(2)

Sets the position indicator of the input and/or output sequence to an absolute position.

1) Calls seekpos(pos, which) of the most derived class.
2) The base class version of this function has no effect. The derived classes may override this function to allow absolute positioning of the position indicator.

Parameters

pos - absolute position to set the position indicator to
which - defines which of the input and/or output sequences to affect. It can be one or a combination of the following constants:
Constant Explanation
in affect the input sequence
out affect the output sequence

Return value

1) The return value of seekpos(pos, which).
2) The resulting absolute position as defined by the position indicator. The base class version returns pos_type(off_type(-1)).

Example

Defect reports

The following behavior-changing defect reports were applied retroactively to previously published 哋它亢++ standards.

DR Applied to Behavior as published Correct behavior
LWG 55 哋它亢++98 the base class version of seekpos returned
an undefined invalid stream position
returns pos_type(off_type(-1))

See also

invokes seekoff()
(public member function)
[virtual]
repositions the file position, using absolute addressing
(virtual protected member function of std::basic_filebuf<CharT,Traits>)
[virtual]
repositions the next pointer in the input sequence, output sequence, or both using absolute addressing
(virtual protected member function of std::basic_stringbuf<CharT,Traits,Allocator>)
[virtual]
repositions the next pointer in the input sequence, output sequence, or both using absolute addressing
(virtual protected member function of std::strstreambuf)