因为这只是一个文件写入问题,所以我放到这里来了。下面的测试都是在整理碎片之后做的,分区空间还有6G。
我自己写了一个,是4K写一次的,100M文件产生了180多碎片,后来换成4M写一次120多碎片。
考察windows的文件复制操作,不产生碎片。
飞鸽传书60多碎片。
FlashFXP不产生碎片。
预分配磁盘空间我不知道怎么做,看了C的库函数chsize的实现,windows系统上用的是在后面写0的办法,我觉得和直接写结果差不多。
我自己写了一个,是4K写一次的,100M文件产生了180多碎片,后来换成4M写一次120多碎片。
考察windows的文件复制操作,不产生碎片。
飞鸽传书60多碎片。
FlashFXP不产生碎片。
预分配磁盘空间我不知道怎么做,看了C的库函数chsize的实现,windows系统上用的是在后面写0的办法,我觉得和直接写结果差不多。
解决方案 »
- DLL共享对象出错
- VB调用VC++ DLL的问题,dll如何设置输出参数,返回给VB,急急急
- 100分急求五笔编码的字根字典!!!
- 我需要随机产生10000个8位数,如何保证生成的数字没有重复的?
- 关于WSAStartup函数
- 用reg的键值AppInit_DLLs加载hook.dll出现的怪问题
- ADO访问ACCESS数据库,能使用Recordset的open方法直接执行insert语句吗?
- 请教高手:vc中那些函数必须成对
- MFC函数调用问题
- OPENGL如何实现绘制多个图层,可实现图层叠加或单独显示?
- CFileDialog文件选择问题
- 我想获得一个网页上像COMBOBOX那样的控件上的内容
查到了这样的……
CreateFile -> SetFilePointerEx -> SetEndOfFile
Note that it is not an error to set the file pointer to a position beyond the end of the file.
真不知道windowsAPI的思维怎么是这个样子,不然就是我受老传统的毒害太深了。
正好分也有人给了,有几次最后的答案还是自己找到的,都不知道分给谁。