我可以处理一个isstrstream来获得对底层I /o缓冲区的随机搜索吗?
Can I treat an isstrstream to obtain random seeks into an underlying i/o buffer?
我的代码将读取整个文件到缓冲区中。就我的目的而言,我可以保证这样一个文件的大小不会超过10MB……足够小,我们永远不需要担心在读取整个文件时的抖动或实际性能问题。
此外,我目前在得到的整个文件缓冲区上使用isstrstream每次提取一行。这工作得很漂亮,并且允许我一次一行地使用底层字符串数据。
然而,我现在需要看看我是否可以保存当前的isstrstream位置,然后"跳转到那里"…也就是说,复制一个isstrsteam并将其视为值对象。是否允许/保证这是isstrstreams的合理使用?
如果它重要,我使用VS2010。
另外,你如何查找类似这样的答案(除了stackoverflow)?通过一些google搜索,我发现了许多关于isstrsteam各个方法的随机数据点,并得到了有关相关类(基类、兄弟类或子类)的各种信息。
可以使用成员istream<>::tellg()和istream<>::seekg()来保存/恢复流位置,类似于fgetpos和fsetpos。
istrstream和istringstream都支持这些方法。
相关文章:
- C++字符*缓冲区的大小
- 有根的二进制搜索树.保留与其父级的链接
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- ostream过载时的缓冲区冲洗
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 在C++中搜索嵌套多映射值
- Xaudio2在更改缓冲区或循环时弹出声音
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 二进制搜索树叶数问题
- 为什么二进制搜索在我的测试中不起作用
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- 正在尝试重载二进制搜索树分配运算符
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 多线程双缓冲区
- c++binary_search函数排序数组(流行名称搜索)出现问题
- 在Boost ASIO缓冲区中搜索
- 在缓冲区中加载块的大二进制文件中搜索
- 我可以处理一个isstrstream来获得对底层I /o缓冲区的随机搜索吗?