c++ - Qt/C++ (Pre-)分配大文件

标签 c++ qt file-io

有没有办法用 Qt 分配一个确定大小的文件?

原因是为了避免或尽量减少碎片化。我不想零写入一个大文件(不需要的开销),而是从文件系统分配它。

我想要一个适用于 Win/OSX/Linux 的解决方案。我知道根据所讨论的文件系统,所有这些平台都有解决方案,但挖掘解决方案并在每个平台上进行测试需要一些时间。

最佳答案

我不确定是否存在碎片,但 Qt 有 QFile::resize() 方法,它清楚地预分配(或截断)文件。这个过程很快——在我的机器上 800MB 大约 1 秒,因此文件显然没有被明确地填满垃圾。在 Windows 7 上测试。

关于c++ - Qt/C++ (Pre-)分配大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11576117/

相关文章:

c# - 原始数组是否需要整数作为索引

c++ - 将一个小型 C++ 项目从 XCode 移动到 Visual Studio。天花板/地板无法识别?

c++ - 使用数组来获得最佳内存对齐和缓存使用,是否有必要?

c++ - 强制重新计算 Qt 样式表似乎无济于事

c++ - 将 QList 转换为 QStringList 以插入 QComboBox

c++ - 从末尾读取文件

c++ - 可以使用 SIMD 优化计算两个字符串之间的字节匹配吗?

c++ - glOrtho 不改变 2D 窗口中的坐标系?

java - 当高吞吐量(3GB/s)文件系统可用时,如何在 Java 中使用多线程读取文件

java - 如何在运行时和开发环境中从 jar 中复制文件夹的资源?