受保護的虛成員函式
<sstream>

std::stringbuf::seekpos

streampos seekpos (streampos sp, ios_base::openmode which = ios_base::in | ios_base::out);
將位置指標設定為絕對位置
設定由引數 which 指定的位置指標的新絕對位置 pos

如果 which 包含 ios_base::in,則會影響讀取指標gptr),如果 which 包含 ios_base::out,則會影響寫入指標pptr)。可以透過一次呼叫同時影響兩個位置指標。

此虛擬函式由公共成員 streambuf::pubseekpos 呼叫。

引數

pos
位置指標的新絕對位置。
streampos 是一種定位型別,可以轉換為/從整數型別轉換(一個 fpos 型別)。
which
確定受影響的位置指標讀取指標寫入指標,或兩者。它是一個 ios_base::openmode 型別的物件,對於此函式,它可以接受以下重要常量值的任何組合:
受影響的位置指標
ios_base::in修改讀取指標gptr
ios_base::out修改寫入指標pptr
可以同時選擇兩個指標。

返回值

成功時,返回 pos
失敗時,函式返回 streampos(streamoff(-1))
streampos 是一種定位型別,可以轉換為/從整數型別轉換(一個 fpos 型別)。

資料競爭

修改 stringbuf 物件。
併發訪問同一物件可能導致資料競爭。

異常安全

基本保證:如果丟擲異常,物件處於有效狀態。

另見