【发布时间】:2015-03-25 22:36:32
【问题描述】:
假设我在二进制文件f 中有一个位置pos 和一些大小为n 的缓冲区,我想从pos 位置开始转储到f。如果文件的大小小于pos + n,我也想放大文件,或者如果文件的大小更大,我想缩小文件(在pos + n 之后删除所有内容)。
什么是标准、最正确、最快速、最优雅的方法?
我明白了,我必须使用ofstream、seekp 等,但不确定如何在必要时删除文件的其余部分。
谢谢!
【问题讨论】:
-
C++ 标准库不提供这样的功能。您必须使用您的操作系统 API。