命名空间
变体
操作

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

来自 cppreference.com
< cpp‎ | io‎ | basic streambuf
 
 
 
 
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)

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

1) 调用最派生类的 seekpos(pos, which)
2) 此函数的基类版本没有效果。派生类可以重写此函数以允许位置指示器的绝对定位。

内容

[编辑] 参数

pos - 要将位置指示器设置为的绝对位置
which - 定义要影响的输入和/或输出序列。它可以是以下常量的组合或其中之一
常量 说明
in 影响输入序列
out 影响输出序列

[编辑] 返回值

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

[编辑] 示例

[编辑] 缺陷报告

以下行为更改缺陷报告被追溯应用到以前发布的 C++ 标准。

DR 应用于 发布的行为 正确行为
LWG 55 C++98 seekpos 的基类版本返回
未定义的无效流位置
返回 pos_type(off_type(-1))

[编辑] 另请参见

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