protected virtual member function
<streambuf> <iostream>

std::streambuf::seekpos

streampos seekpos (streampos sp, ios_base::openmode which = ios_base::in | ios_base::out);
將內部位置指標設定為絕對位置
由公共成員函式 pubseekpos 呼叫,用於以一種派生類特定的方式更改受控序列的一個或多個流位置的虛擬函式。

streambuf 中的預設行為是不執行任何操作並返回 -1,但派生類應覆蓋此行為以適當地更改內部指標:filebufstringbuf 都覆蓋此虛成員函式以將 which 指定的內部指標設定為絕對位置 pos

引數

pos
位置指標的新絕對位置。
streampos 是一種定位型別,可以轉換為/從整數型別轉換(一個 fpos 型別)。
which
通常用於確定哪個 *受控序列* 將被修改:*輸入序列*、*輸出序列* 或兩者。它是一個 ios_base::openmode 型別的物件,對於此函式,它可以包含以下任意組合的有效常量值:
受影響的位置指標
ios_base::in修改 *受控輸入序列* 中的當前位置
ios_base::out修改 *受控輸出序列* 中的當前位置

返回值

返回 pos_type(off_type(-1))
streampos 是一種定位型別,可以轉換為/從整數型別轉換(一個 fpos 型別)。

資料競爭

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

異常安全

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

另見