【发布时间】:2015-11-01 04:38:40
【问题描述】:
我目前正在使用 Boost.Iostreams 来内存映射多个文件以写出非常大的数据集。要写入的数据量因保证不会超过预定义的限制而异。通常会使用映射文件的全部容量,但有时不会,只写入很小的一部分。
我的问题是我事先不知道要写入的数据量,因此每个内存映射文件都是以相同大小创建的。结果,程序效率较低,因为在关闭时未使用满容量的文件为零。
有没有办法在关闭之前使用 Boost.Iostreams 或其他跨平台库(最好是 boost)截断文件?
我知道还有其他类似的问题,但我不相信他们提供跨平台解决方案。
【问题讨论】: