本版
查看: 14732|回复: 3

[水] C语言读取MBR

[复制链接]
标签: 空间  的  C语言  

Super Moderator

楼主(1#)
发表于 2013-5-29 21:00:24 | 只看该作者 |只看大图 |倒序浏览 |阅读模式
本文来自lyz810的空间,http://hi.baidu.com/lyz810/blog/item/aab6d5fd580fcadcfd037fe3.html
  1. #include <stdio.h>
    void ReadMBR(unsigned char *buf,int i=0,int n=511)
    {
    printf(" 0 1 2 3 4 5 6 7 - 8 9 A B C D E F\n");
    int j=0;
    int d=i/16*16;
    if(i%16)
    {
    printf("%010X ",d);
    d+=16;
    for(j=0;j<i%16;j++)
    {
    printf(" ");
    }
    if(i%16>7)
    {
    printf(" ");
    }
    }
    for(;i<=n;i++)
    {
    if(i%16==0)
    {
    printf("%010X ",d);
    d+=16;
    }
    printf("%02X ",buf[i]);
    if((i+1)%8==0&&(i+1)%16)
    {
    printf("\b- ");
    }
    if((i+1)%16==0)
    {
    printf("\n");
    }
    }
    }
    void main()
    {
    unsigned char buf[512]={0};
    FILE *fp;
    fp=fopen("\\\\.\\PHYSICALDRIVE0","rb");//二进制只读方式打开磁盘0
    fread(buf,1,512,fp);//读取512字节(1个扇区),并将值放到buf数组中
    fclose(fp);
    ReadMBR(buf);//按一定格式显示数组内容
    }


回复

支持 | 反对  0 支持 / 0 反对 评分 举报

[Lv.8]超级萝卜

沙发(2#)
发表于 2013-6-11 09:02:26 | 只看该作者
这段代码写得好

[Lv.7]特大萝卜

板凳(3#)
发表于 2021-6-5 12:46:52 | 只看该作者
好,学习了。

Super Moderator

实习版主

地板(4#)
发表于 2021-6-6 06:35:30 | 只看该作者
代码真的非常好,谢谢分享,认真学习中。

联系我们(Contact)|手机版|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2026-11-06 22:59 , Processed in 0.07 second(s), 20 queries , Gzip On.

快速回复 返回顶部 返回列表