C++ std::basic_filebuf::seekpos的文档
我已经研究了std::basic_filebuf::seekpos提供的文档页面,但被以下句子弄糊涂了: 如果文件已打开以供读取,则在必要时更新“获取”区域C++ std::basic_filebuf::seekpos的文档,c++,language-lawyer,std,C++,Language Lawyer,Std,我已经研究了std::basic_filebuf::seekpos提供的文档页面,但被以下句子弄糊涂了: 如果文件已打开以供读取,则在必要时更新“获取”区域 就我在电脑上看到的情况而言,seekpos的结果是eback()==gptr()==egptr(),即函数清空get区域。这是否意味着get区域已更新?如果有人能澄清一下,那就太好了。谢谢大家! 从下一页开始: 许多实现不更新seekpos()中的get区域,将其委托给下一个sgetc()调用的underflow() 以及: 在某些实现中,
就我在电脑上看到的情况而言,seekpos的结果是eback()==gptr()==egptr(),即函数清空get区域。这是否意味着get区域已更新?如果有人能澄清一下,那就太好了。谢谢大家! 从下一页开始: 许多实现不更新seekpos()中的get区域,将其委托给下一个sgetc()调用的underflow() 以及: 在某些实现中,get区域由seekpos()清空,第二个underflow()是观察效果所必需的 看起来你就是这样的 “更新”的含义可以解释。这里的标准非常灵活(注意缺乏明确的后置条件),基本上是说“实现可以做它需要做的任何事情,以便执行它的业务” 在这种情况下,您的filebuf实现可能会在查找时清空get区域,然后在下一个underflow()中“填充”它-可以说这两个操作都是“更新”,但老实说,您可以按自己喜欢的方式旋转它