受保護的虛擬成員函式
<streambuf> <iostream>

std::basic_streambuf::seekpos

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

basic_streambuf 中的預設行為是無操作並返回 -1,但派生類應重寫此行為以適當地修改內部指標:basic_filebufbasic_stringbuf 都重寫了此虛擬成員函式,以將由 which 指定的內部指標設定為絕對位置 pos

引數

pos
位置指標的新絕對位置。
成員型別 pos_type字元特性決定:通常,它是 fpos 型別(例如 streampos),可以與整型進行轉換。
which
通常用於確定要修改的受控序列的位置:輸入序列輸出序列或兩者。它是一個型別為 ios_base::openmode 的物件,對於此函式,它可以接受以下任何組合的顯著常量值:
受影響的位置指標
ios_base::in修改 *受控輸入序列* 中的當前位置
ios_base::out修改 *受控輸出序列* 中的當前位置

返回值

返回 pos_type(off_type(-1))
成員型別 pos_type字元特性決定:通常,它是 fpos 型別(例如 streampos),可以與整型進行轉換。

資料競爭

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

異常安全

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

另見