C++ fstream-收缩文件

C++ fstream-收缩文件,c++,fstream,C++,Fstream,如何使用fstream剪切文件末尾剩余的不必要空间? 我有一个大约250mb大的二进制文件,经过某些操作后,文件中剩下了大约100mb的数据(开始时)。然而,该文件仍然是250mb。如何释放磁盘空间 许多相同的结构都是使用以下命令顺序写入文件的: fstream::write((char *)data_struct,sizeof(data_struct)); 有时不再需要文件末尾的结构。文件流不支持截断,除非在打开时。您需要关闭它,然后使用特定于操作系统的方法来设置精确的长度。对于Window

如何使用fstream剪切文件末尾剩余的不必要空间? 我有一个大约250mb大的二进制文件,经过某些操作后,文件中剩下了大约100mb的数据(开始时)。然而,该文件仍然是250mb。如何释放磁盘空间

许多相同的结构都是使用以下命令顺序写入文件的:

fstream::write((char *)data_struct,sizeof(data_struct));

有时不再需要文件末尾的结构。

文件流不支持截断,除非在打开时。您需要关闭它,然后使用特定于操作系统的方法来设置精确的长度。对于Windows和Linux,即:

窗口:


Linux:

没有通用的解决方案。。。我们不知道你的档案structure@Vinzenz它只是按顺序将许多相同的结构写入文件(使用
fstream::write((char*)data_struct,sizeof(data_struct)
),有时文件末尾的结构不再需要。