名稱空間
變體
操作

std::basic_spanbuf<CharT,Traits>::seekoff

來自 cppreference.com
< cpp‎ | io‎ | basic_spanbuf
 
 
 
std::basic_spanbuf
公開成員函式
受保護的成員函式
basic_spanbuf::seekoff
(C++23)
非成員函式
 
protected:

pos_type seekoff( off_type off, std::ios_base::seekdir dir,
                  std::ios_base::openmode which =

                      std::ios_base::in | std::ios_base::out ) override;
(C++23 起)

如果可能,重新定位獲取和/或放置區域的下一個指標,使其位於與緩衝區獲取和/或放置區域的起始、結束或當前位置精確對應 off 個字元的位置。

n 為底層緩衝區中的 CharT 元素數量,如果不存在底層緩衝區,則為 0,本函式在以下情況下失敗:

  • 要重新定位的獲取和/或放置區域的下一個指標為空,且計算出的 newoff(見下文)不為零,這可能發生在沒有底層緩衝區的情況下,或者 *this 未以 which 所要求的模式開啟,或者
  • dirstd::ios_base::cur,並且 which 中同時設定了 std::ios_base::instd::ios_base::out,或者
  • 計算出的 newoff 無法用 off_type 表示、小於零或大於 n

newoff 的計算方式如下:

如果 which 中相應設定了 std::ios_base::in 和/或 std::ios_base::out,則此函式在成功時將獲取和/或放置區域的下一個指標重新定位到 pbuf + newoff,其中 pbuf 是指向底層緩衝區開頭的指標,如果不存在底層緩衝區,則為 null 指標值。

目錄

[編輯] 引數

off - -
dir - 定義應用相對偏移量的基本位置。它可以是以下常量之一
常量 解釋
beg 流的開始
end 流的結束
cur 流位置指示器的當前位置
which - -
常量 解釋
in 影響輸入序列
out 影響輸出序列

[編輯] 返回值

成功時為 pos_type(newoff),失敗時為 pos_type(off_type(-1))

[編輯] 示例

[編輯] 另請參閱

[虛擬函式]
使用相對定址重新定位輸入序列、輸出序列或兩者的下一個指標
(std::basic_stringbuf<CharT,Traits,Allocator> 的虛保護成員函式) [編輯]
[虛擬函式]
使用相對定址重新定位輸入序列、輸出序列或兩者的下一個指標
(std::strstreambuf 的虛保護成員函式) [編輯]