标题:哪里出了问题了?是不是数值太大
只看楼主
tk1223108078
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2013-7-18
结帖率:77.78%
 问题点数:0 回复次数:2 
哪里出了问题了?是不是数值太大
#include<stdio.h>
#include<process.h>
#include <math.h>
#include<stdint.h>
void ReadMBR(unsigned char *buf,int i, int n)
{
    printf("00  01  02  03  04  05  06  07  - 08  09  0A  0B  0C  0D  0E  0F \n");
    for(;i<=n;i++)
    {
        if(buf[i]/16%16==0)
            printf("0%X  ",buf[i]);
        else
            printf("%2X  ",buf[i]);
        if((i+1)%8==0&&(i+1))
        {
            printf("- ");
        }
        if((i+1)%16==0&&(i+1))
        {
            printf("\n");
        }
    }
}
void main()
{
    unsigned char buf[512]={0};
    unsigned char buf1[512]={0};
    FILE *fp;
    int i,j;
    fp=fopen("\\\\.\\PhysicalDrive0","rb");//二进制只读方式打开磁盘0
    fread(buf,1,512,fp);//读取512字节(1个扇区),并将值放到buf数组中
    i=buf[470]+buf[471]*pow(2,8)+buf[472]*pow(2,16)+buf[473]*pow(2,24);//确定DBR所在扇区
    for(j=0;j<i-1;j++)
    {
        fseek(fp,512,SEEK_CUR);
    }//将文件的读取位置转移到DBR的位置
    fread(buf1,1,512,fp);//读取DBR
    ReadMBR(buf1,0,511);
    fclose(fp);
}
搜索更多相关主题的帖子: include 
2013-09-05 13:51
tk1223108078
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2013-7-18
得分:0 
结果应该是扩展分区的DBR如图所示
但结果却是
2013-09-05 13:55
tk1223108078
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2013-7-18
得分:0 
而将i-1换成i-100结果和原来的i-1结果一样如图
2013-09-05 14:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-420146-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.973583 second(s), 11 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved