当前位置:  开发笔记 > 开发工具 > 正文

在Windows上创建大文件

如何解决《在Windows上创建大文件》经验,为你挑选了1个好方法。

我需要创建大的相对较大(1-8 GB)的文件.使用C或C++在Windows上执行此操作的最快方法是什么?我需要动态创建它们,速度确实是一个问题.文件将用于存储仿真,即将在不同的偏移量中随机访问,我需要预先分配所有存储但未初始化,目前我们正在使用虚拟数据写入所有存储,并且花费的时间太长.

谢谢.



1> Brian R. Bon..:

使用Win32 API,CreateFile,SetFilePointerEx,SetEndOfFile和CloseHandle.以同样的顺序.

诀窍在于SetFilePointerEx函数.来自MSDN:

请注意,将文件指针设置为超出文件末尾的位置不是错误.在调用SetEndOfFile,WriteFile或WriteFileEx函数之前,文件的大小不会增加.

将文件从一个位置复制到另一个位置时,Windows资源管理器实际上也会这样做.它这样做是为了使磁盘不需要为碎片磁盘重新分配文件.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有