- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我将 C++ streambuf
类用于编译器项目,需要一种方便的方法来获取流中的当前位置。
有两个成员函数,streambuf::pubseekpos
和一个streambuf::pubseekoff
,用来修改位置,我很困惑没有streambuf::pubgetpos
成员函数(或类似的东西)来读取它。
似乎有两种可能的解决方法:
我可以将当前位置保存在一个单独的变量中并修改每当我从流中读取字符时手动执行它。
我可以调用 streambuf::pubseekoff(0, ios_base::cur)
,它会返回新的流位置。
第二个选项似乎可用,但对于这样一个微不足道的任务来说效率低下且不美观。有更好的方法吗?
最佳答案
streambuf
没有单独的读取位置的接口(interface)。但是,istream
和 ostream
可以(分别为 tellg
和 tellp
)。
有趣的是,流 use your option 2得到他们的位置,这样就好了。
关于c++ - streambuf 获取 streampos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15525041/
我将 C++ streambuf 类用于编译器项目,需要一种方便的方法来获取流中的当前位置。 有两个成员函数,streambuf::pubseekpos 和一个streambuf::pubseekof
我正在尝试做这样的事情: for (std::streampos Position = 0; Position < 123; Position++) { // Use Position to
#include int main() { std::ifstream fin{ "" }; size_t n = fin.tellg(); // ok } 代码编译正常。然而,根据
std::streampos 是否保证为 unsigned long long? 如果不是这样,std::istream::seekg 如何在大于 4G 的文件上正常工作? 最佳答案 来自 http:
std::streampos 是否保证为 unsigned long long? 如果不是这样,std::istream::seekg 如何在大于 4G 的文件上正常工作? 最佳答案 来自 http:
我正在尝试将一些数据附加到文件中,但在某些情况下想要从末尾向后跳一点以覆盖文件的尾端。但是,seekp( pos ) 和 seekp( offset, relative ) 对我都没有任何影响(除了在
下午好, 我正在尝试让一些老式代码在 g++ 4.4 中运行。我的理解是在g++ 4.0中编译得很好的代码,但是g++在4.0和4.4之间变得更加严格。这段代码特别会导致编译器停止并提示: sprin
streampos 之间有什么区别?和 pos_type , streamoff和 off_type , 除了它们的定义不同。我应该将 basic_stream<>::seek 与什么一起使用?的功能
为了测量流的位置/偏移量/大小,标准指定了 std::streampos、std::streamoff 和 std::streamsize,但它们是实现定义的。 如何以安全且可移植的方式将这些类型转换
如果我们查看 istream 和 ostream 的文档,我们有以下功能: istream& seekg ( streampos pos ); istream& seekg ( streamoff o
我是一名优秀的程序员,十分优秀!