代码片段如下: char szBootSector[512];
ZeroMemory(szBootSector,512);
szBootSector[510] = 0x55;
szBootSector[511] = 0xaa;
if (szBootSector[510] != 0x55)
{
std::cout<<"1";
return 0;
}
else if (szBootSector[511] != 0xaa)
{
std::cout<<"2"; /*此处设断单步后走到这里,但内存中的szBootSector[511]的值确实显示16进制后为0xaa,为什么会这样,如何解决呢*/
return 0;
}
ZeroMemory(szBootSector,512);
szBootSector[510] = 0x55;
szBootSector[511] = 0xaa;
if (szBootSector[510] != 0x55)
{
std::cout<<"1";
return 0;
}
else if (szBootSector[511] != 0xaa)
{
std::cout<<"2"; /*此处设断单步后走到这里,但内存中的szBootSector[511]的值确实显示16进制后为0xaa,为什么会这样,如何解决呢*/
return 0;
}
((unsigned char) szBootSector[511] != 0xaa)你这是读引导扇区的代码吧,没问题的话,贴出来给我学习下。