命名空间
变体
操作

std::basic_streambuf<CharT,Traits>::pubseekoff, std::basic_streambuf<CharT,Traits>::seekoff

来自 cppreference.com
< cpp‎ | io‎ | basic streambuf
 
 
 
 
pos_type pubseekoff( off_type off, std::ios_base::seekdir dir,
                     std::ios_base::openmode which = ios_base::in | ios_base::out );
(1)
protected:

virtual pos_type seekoff( off_type off, std::ios_base::seekdir dir,

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

将输入和/或输出序列的位置指示器设置为相对于某个其他位置。

1) 调用最派生类的 seekoff(off, dir, which)
2) 此函数的基类版本无效。派生类可以重写此函数以允许位置指示器的相对定位。

内容

[编辑] 参数

off - 将位置指示器设置为的相对位置。
dir - 定义要应用相对偏移量的基准位置。它可以是以下常量之一
常量 解释
beg 流的开头
end 流的结尾
cur 流位置指示器的当前位置
which - 定义要影响的输入和/或输出序列。它可以是以下常量的组合
常量 解释
in 影响输入序列
out 影响输出序列

[编辑] 注意

并非所有参数组合都有效,有关详细信息,请参阅 seekoff 的派生版本。

[编辑] 返回值

1) seekoff(off, dir, which) 的返回值
2) 位置指示器定义的最终绝对位置。基类版本返回 pos_type(off_type(-1))

[编辑] 示例

[编辑] 缺陷报告

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

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

[编辑] 另请参阅

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