永发信息网

怎么通过程序获取磁盘指定扇区的数据?

答案:2  悬赏:20  手机版
解决时间 2021-03-10 07:42
  • 提问者网友:美人性情
  • 2021-03-09 09:43
我们知道,硬盘的每一个扇区有512个字节。我需要编写一个函数GetData(char * szBuffer, uint64 n),把一个特定扇区的数据存入数组szBuffer,这应该怎么实现它?

不用给完整代码,给个法子就行
最佳答案
  • 五星知识达人网友:猎心人
  • 2021-03-09 10:41
(1)先用函数 CreateFile 获取硬盘的句柄 h;
(2)然后用函数 DeviceIoControl 得到硬盘扇区大小;
(3)之后用函数 SetFilePointerEx 将硬盘的文件指针移动到要读取的位置;
(4)最后用 ReadFile 读取数据。

第二步是必要的,因为对硬盘的ReadFile/WriteFile/SetFilePointer等操作,必须读/写/将指针移动扇区大小的整数倍
全部回答
  • 1楼网友:何以畏孤独
  • 2021-03-09 12:08
要关闭磁盘碎片整理程序实用工具,请单击窗口标题栏上的“关闭”按钮。三、检测和修复磁盘错误除运行磁盘清理工具和坏扇区会降低硬盘性能,有时还会导致难以甚至无法执行数据写入操作(如文件保存)。错误检查实用工具可以扫描硬盘
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯