首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows8上使用C读取引导扇区

在windows8上使用C读取引导扇区
EN

Stack Overflow用户
提问于 2015-04-11 11:01:07
回答 2查看 1.2K关注 0票数 3

我尝试使用这个程序读取引导扇区。

代码语言:javascript
复制
int lire_secteur(int num_sect,unsigned char* buf)
{
int retCode = 0;
unsigned char secteur[512];
char disque[10]   ;
char partition ;
FILE* device ;
do
{
    disque[0]='\0'  ;       
    scanf("%c",&partition) ;
    if (partition=='0')
    {
        strcpy(disque,"\\\\.\\PHYSICALDRIVE0") ;
    }
    else
    {
        sprintf(disque,"\\\\.\\%c:",partition) ;
    }
    device = fopen(disque, "rb+");
}

while (device == NULL) ;
fseek( device,num_sect*512 , SEEK_SET );
if (fread (secteur, 512,1, device) < 1)
{
    printf("erreur\n");
    return 1 ;
}
else
{
    memcpy(buf,secteur, 512);
    retCode=0;
}
return retCode;
}

我已经成功地读取了硬盘驱动器中的所有扇区,但是当我想阅读引导扇区时,我有以下内容:

这是我的代码中的问题还是windows8造成的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-08 04:18:49

你得到了正确的结果,那就是引导扇区。您可能需要打印出来,格式为十六进制,而不只是这样的字符串,因为您将输出随机控制字符到屏幕。

票数 3
EN

Stack Overflow用户

发布于 2017-10-02 22:27:17

(这是一个相对较旧的,但它确实出现在搜索中)

看起来可能是正确的数据,但是要理解它,您需要使用NTFS头布局来解析它。

见:https://www.codeproject.com/Articles/81456/An-NTFS-Parser-Lib https://sourceforge.net/projects/ntfs-search/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29577114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档