gpt4 book ai didi

c++ - streambuf 获取 streampos

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:37:31 30 4
gpt4 key购买 nike

我将 C++ streambuf 类用于编译器项目,需要一种方便的方法来获取流中的当前位置。

有两个成员函数,streambuf::pubseekpos 和一个streambuf::pubseekoff,用来修改位置,我很困惑没有streambuf::pubgetpos 成员函数(或类似的东西)来读取它。

似乎有两种可能的解决方法:

  1. 我可以将当​​前位置保存在一个单独的变量中并修改每当我从流中读取字符时手动执行它。

  2. 我可以调用 streambuf::pubseekoff(0, ios_base::cur),它会返回新的流位置。

第二个选项似乎可用,但对于这样一个微不足道的任务来说效率低下且不美观。有更好的方法吗?

最佳答案

streambuf 没有单独的读取位置的接口(interface)。但是,istreamostream 可以(分别为 tellgtellp)。

有趣的是,流 use your option 2得到他们的位置,这样就好了。

关于c++ - streambuf 获取 streampos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15525041/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com