如何查找内存映射文件的流指针(使用boost)
How to seek stream pointer of a memory mapped file(using boost)?
我使用boost::iostreams::mapped_file_source
将文件映射到内存,并将读取文件的流声明为boost::iostreams::stream <boost::iostreams::mapped_file_source> streamReader
。
它运行良好,我能够解析内存映射文件。我使用getline
读取整个文件,并存储文件的某些偏移量。在执行此操作时,我能够使用seekg
将streamReader搜索到所需位置。但一旦整个文件被读取,我就无法在任何地方找到streamReader。
streamReader.fail()
返回true。streamReader是否会在指针到达文件末尾时清除指针?
有没有什么方法可以让我在读取整个文件后转到所需的文件偏移量?
ThankYou
我认为应该调用流的clear()
方法来重置其状态。
请参阅http://www.cplusplus.com/reference/ios/ios/clear/
相关文章:
- 如何使用boost::具有嵌套结构和最小代码更改的序列化
- 使用Boost Interprocess创建托管共享内存需要很长时间
- 如果C++对象的类在另一个boost模块中声明,如何使用boost将指向该对象的指针返回到python
- 使用 boost 进行标记化会给出相同的输出
- 如何使用 Boost Asio 在 Android 上获取我的本地 udp IP 地址?
- 在成员dynamic_bitset上使用 boost::from_block_range 时出错,但在本地dynamic
- 执行时使用 boost::asio::d eadline_timer 时出错
- 使用 Boost.Spirit 解析具有混合数据类型的 OBJ 文件?
- 避免使用 boost::进程间::消息队列创建文件
- 使用Boost文件系统C++将具有特定扩展名的文件的名称保存在特定文件夹中
- 程序崩溃使用boost::asio
- 如何使用 boost beast websocket 客户端收听 websocket feed?
- 在 Julia 中使用 boost 库和 Windows 上的 Cxx.jl
- 如何使用 boost 将流放入缓冲区
- 使用boost::multiprecision cpp_int左移时出现超时错误
- 使用 boost::p rogram_options 指定多个标志
- TCP 服务器的异步读取使用 boost::asio 打印客户端套接字发送的数据
- yum :在 CentOS 上使用 Boost 1.69 而不是默认 (1.53) 版本
- 使用 boost::p roperty_tree::p tree 如何获取特定键的值
- 如何在使用 Boost MSM 编写的状态机中直接访问任何状态