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++ 标准。

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

参阅

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