有没有办法用 Qt 分配一个确定大小的文件?
原因是为了避免或尽量减少碎片化。我不想零写入一个大文件(不需要的开销),而是从文件系统分配它。
我想要一个适用于 Win/OSX/Linux 的解决方案。我知道根据所讨论的文件系统,所有这些平台都有解决方案,但挖掘解决方案并在每个平台上进行测试需要一些时间。
最佳答案
我不确定是否存在碎片,但 Qt 有 QFile::resize()
方法,它清楚地预分配(或截断)文件。这个过程很快——在我的机器上 800MB 大约 1 秒,因此文件显然没有被明确地填满垃圾。在 Windows 7 上测试。
关于c++ - Qt/C++ (Pre-)分配大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11576117/