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

来自cppreference.com
< cpp‎ | io‎ | basic streambuf
 
 
 
 
pos_type pubseekpos( pos_type pos,
                     ios_base::openmode which = ios_base::in | ios_base::out );
(1)
protected:

virtual pos_type seekpos( pos_type pos,

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

设置输入和/或输出序列的位置指示器为绝对位置。

1) 调用最终派生类的 seekpos(pos, which)
2) 此函数的基类版本无效果。导出类可覆写此函数以允许位置指示器的绝对寻位。

参数

pos - 要设置位置指示器到的绝对位置。
which - 定义会影响到的输入和/或输出序列。它可以是下列常量之一或它们的组合:
常量 解释
in 影响输入序列
out 影响输出序列

返回值

1) seekpos(pos, which) 的返回值
2) 位置指示器所定义的结果绝对位置。基类版本返回 pos_type(off_type(-1))

示例

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 55 C++98 seekpos 的基类版本返回了未定义的无效流位置 返回 pos_type(off_type(-1))

参阅

调用 seekoff()
(公开成员函数)
用绝对寻址重寻位文件位置
(std::basic_filebuf<CharT,Traits> 的虚受保护成员函数)
用绝对寻址,重定位输入序列、输出序列或两者中的下一位置指针
(std::basic_stringbuf<CharT,Traits,Allocator> 的虚受保护成员函数)
用绝对寻址重寻位输入序列、输出序列或两者中的下一位置指针
(std::strstreambuf 的虚受保护成员函数)