std::basic_spanbuf<CharT,Traits>::seekoff
来自cppreference.com
                    
                                        
                    < cpp | io | basic spanbuf
                    
                                                            
                    |   protected: pos_type seekoff( off_type off, std::ios_base::seekdir dir,  | 
(C++23 起) | |
若可能则重寻位指向获取和/或放置区的下一位置指针,为对应准确距缓冲区的获取和/或放置区的起始、末尾或当前位置 off 个字符。
设 n 为底层缓冲区中的 CharT 元素数,或若无底层缓冲区则为 0 ,此函数在以下情况失败:
-  待重寻位的指向获取和/或放置区的下一位置指针为空,且计算的 
newoff(见后述)非零,这可能在无底层缓冲区或 *this 不是以which所要求的模式打开时出现,或 -  
dir为 std::ios_base::cur 且which中一同设置了 std::ios_base::in 和 std::ios_base::out ,或 -  计算的 
newoff无法以off_type表示、小于零或大于n。 
newoff 计算如下:
-  若 
dir为 std::ios_base::beg ,则newoff为off。 -  若 
dir为 std::ios_base::cur ,则newoff为-  pptr() - pbase() + off ,若 
which中设置了 std::ios_base::out ,或 -  gptr() - eback() + off ,若 
which中设置了 std::ios_base::in 。 
 -  pptr() - pbase() + off ,若 
 -  若 
dir为 std::ios_base::end ,则newoff为- pptr() - pbase() + off ,若 *this 的打开模式中设置了 std::ios_base::out 但非 std::ios_base::in ,
 - 否则为 off + n 。
 
 
此函数在成功时重寻位指向获取和/或放置区的下一位置指针为 pbuf + newoff ,若在 which 中相应地设置了 std::ios_base::in 和/或 std::ios_base::out ,其中 pbuf 是指向底层缓冲区的指针,或若无底层缓冲区则为空指针值。
参数
| off | - | 要设置下一位置指针到的相对位置 | ||||||||
| dir | - |  定义应用偏移到的基位置。它能为下列常量之一:
  | ||||||||
| which | - |  定义影响的是输入序列、输出序列还是两者。它能为下列常量之一或其组合:
  | 
返回值
成功时为 pos_type(newoff) ,失败时为 pos_type(off_type(-1)) 。
示例
| 本节未完成 原因:暂无示例  | 
参阅
|    [虚]  | 
  用相对寻址,重定位输入序列、输出序列或两者中的下一位置指针  ( std::basic_stringbuf<CharT,Traits,Allocator> 的虚受保护成员函数)  | 
|    [虚]  | 
  用相对寻址重寻位输入序列、输出序列或两者中的下一位置指针  ( std::strstreambuf 的虚受保护成员函数)  |