100分求怎样通过修改文件在FAT表中的首末簇以及FDT表信息来快速合并大量文件 我想把一个文件夹内的所有文件及文件夹合并为一个大文件,但不想用建立一个新文件再把其他文件读出再写入这个新文件的方法,因为那样太慢.我的思路是:直接更改磁盘上文件簇链信息,使多个文件首尾相连,这样一来就形成了一个大文件,再设置这个大文件的属性信息,这样在操作系统眼里就只有一个大文件了. 但具体怎样实现,需要高手指点,用windows API能否做到? 怎样读写这些底层信息? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 windows API做不到,windows API不提供按簇访问文件的能力。我觉得该功能实现难度非常高,而且不合算。 你这样做可以在FAT,FAT32下实现,NTFS似乎很难,因为NTFS有$Secure文件,该文件记录了每个文件的保护信息,如果手动改了NTFS文件的簇号,那么$Secure就会出错了!在Win2000及以后操作系统可以通过OpenFile,CHAR szDrive[10];wsprintf(szDrive, "\\\\.\\%c:", 'C'); // 读写C逻辑盘的硬盘扇区HANDLE hDevice = CreateFile(szDrive, GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,OPEN_EXISTING, 0, NULL);用ReadFile,WriteFile直接读写硬盘扇区 我已经在FAT32下实现了,用了三个月;谢谢各位; SOCKET接收XML数据出现丢失,急 有开发网狐棋牌服务端的进! 关于COMBO控件的问题 要用VC了,各位给点意见。 初学VC,这个怎么实现不了? 如何截取msn的聊天信息? 关于ODBVariant 天堂游戏外挂,一天4000!只需要能调钱,谁会! 那有 MSDN 下载 或谁能提供下载 在VC中重载CWnd类的WindowProc、OnCommand函数,如何使用这两个重载函数???请各位高手指教 Programming Server-Side Applications for Microsoft Windows 2000 源码 在对话框里画图(急)
我觉得该功能实现难度非常高,而且不合算。
CHAR szDrive[10];
wsprintf(szDrive, "\\\\.\\%c:", 'C'); // 读写C逻辑盘的硬盘扇区
HANDLE hDevice = CreateFile(szDrive, GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,OPEN_EXISTING, 0, NULL);用ReadFile,WriteFile直接读写硬盘扇区