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

std::basic_streambuf::seekoff

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

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

参数

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

返回值

返回 pos_type(off_type(-1))
成员类型 pos_type 由 *字符特性* 确定:通常,它是一个 fpos 类型(例如 streampos),可以与整数类型相互转换。

数据竞争

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

异常安全

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

另见