受保护的虚成员函数
<streambuf> <iostream>

std::streambuf::seekoff

streampos seekoff (streamoff off, ios_base::seekdir way,                   ios_base::openmode which = ios_base::in | ios_base::out);
将内部位置指针设置到相对位置
由公有成员函数 pubseekoff 调用,用于以派生类特有的方式更改受控序列的一个或多个流位置的虚函数。

它在 streambuf 中的默认行为是不执行任何操作并返回 -1,但派生类应覆盖此行为以适当地更改内部指针:filebufstringbuf 都覆盖此虚成员函数,以将由 which 指定的内部指针设置到相对于 way 指定的方向偏移 off 的位置。

参数

off
偏移量,相对于 way 参数。
streamoff 是一个有符号整数类型。
way
类型为 ios_base::seekdir 的对象。它可以接受以下任何常量值
偏移量相对于...
ios_base::beg流缓冲区的开始
ios_base::cur流缓冲区中的当前位置
ios_base::end流缓冲区的末尾
which
通常用于确定对哪个“受控序列”进行修改:‘输入序列’、‘输出序列’或两者。它是 ios_base::openmode 类型的一个对象,对于此函数,它可以包含以下重要常量值的任何组合:
受影响的位置指针
ios_base::in修改 *受控输入序列* 中的当前位置
ios_base::out修改 *受控输出序列* 中的当前位置

返回值

返回 streampos(streamoff(-1))
streampos 是一种定位类型,可以转换为/从整数类型转换(一个 fpos 类型)。

数据竞争

不引入数据竞争,但派生类中重写的版本可能会。

异常安全

无异常保证:此默认定义从不抛出异常。

另见