【发布时间】:2015-09-17 11:24:17
【问题描述】:
我有一个大型二进制 (STL) 文件,该文件以已知且固定大小的标头开头,然后以一组代表连续记录的固定大小缓冲区 (POD) 继续。
我想将文件的记录部分映射到 stxxl::vector 以进行快速核外处理。stxxl::vector<> 有一个接受stxxl::file 的ctor,但我不知道如何告诉ctor 从正确的偏移量开始文件解析。
我可以这样做吗?如果可以,该怎么做?
【问题讨论】:
我有一个大型二进制 (STL) 文件,该文件以已知且固定大小的标头开头,然后以一组代表连续记录的固定大小缓冲区 (POD) 继续。
我想将文件的记录部分映射到 stxxl::vector 以进行快速核外处理。stxxl::vector<> 有一个接受stxxl::file 的ctor,但我不知道如何告诉ctor 从正确的偏移量开始文件解析。
我可以这样做吗?如果可以,该怎么做?
【问题讨论】:
是的,这应该很容易实现。
stxxl::vector 有一个使用文件的构造函数。
vector_type v(&f);
这个构造函数只生成通过偏移量引用文件块的块。 您可以修改此构造函数以添加额外的标头偏移量。
【讨论】: