受保護的虛成員函式
<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 型別)。

資料競爭

不引入資料競爭,但派生類中重寫的版本可能會。

異常安全

無異常保證:此預設定義從不丟擲異常。

另見