在我的一个项目中,我必须缓存有关在大文件中找到的某些数据块的位置信息。我已经实现了一个围绕std::basic_istream<char>::pos_type
放置在地图中的小型 API。
现在我需要将这些描述符序列化为字节流并将它们写入磁盘以供进一步使用(在其他 *nix 机器上也是如此)。我已经读到这种类型是平台相关的,但仍然是一种 POD 类型。所以我的问题是:
- 除了偏移量之外,保存一些东西是否会更好?例如
std::fpos<std::mbstate_t>
保持阅读结构的状态? - 如何安全地获取和恢复偏移数据
std::basic_istream<char>::pos_type
(如果需要,还可以获取其他信息)?
先感谢您。