| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 546 人关注过本帖
标题:哪里出了问题了?是不是数值太大
只看楼主 加入收藏
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
快速回复:哪里出了问题了?是不是数值太大
数据加载中...
 
   



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

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