鱼C论坛

 找回密码
 立即注册
查看: 2725|回复: 0

读取文件十六进制

[复制链接]
发表于 2012-5-18 03:14:40 | 显示全部楼层 |阅读模式
1鱼币

正常文件如下:
4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00
B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 E0 00 00 00
0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD 21 54 68
69 73 20 70 72 6F 67 72 61 6D 20 63 61 6E 6E 6F
74 20 62 65 20 72 75 6E 20 69 6E 20 44 4F 53 20

自己读出文件:
4D 5A FFFFFF90 00 03 00 00 00 04 00 00 00 FFFFFFFF FFFFFFFF 00 00
FFFFFFB8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 FFFFFFE0 00 00 00
0E 1F FFFFFFBA 0E 00 FFFFFFB4 09 FFFFFFCD 21 FFFFFFB8 01 4C FFFFFFCD 21 54 68
69 73 20 70 72 6F 67 72 61 6D 20 63 61 6E 6E 6F
74 20 62 65 20 72 75 6E 20 69 6E 20 44 4F 53 20
多出好多FFFFFF 怎么回事啊??
代码:

CFile file;
char* a_pData;
file.Open("d.exe",CFile::modeRead,NULL);     
long cd=file.GetLength();                    
a_pData= (char*)malloc(cd);      
file.Seek(0,CFile::begin);      
file.Read(a_pData,1000);      
file.Close();         //关闭文件
CString sResult;
    for(int i=0;i <1000;i++)
      {
           CString s="";
           s.Format("%2.2X ",a_pData[i]);
      if(i%16==0)
     sResult+="\r\n";
     
sResult+=s;
          }
m_bjk.SetWindowText(sResult);
delete(a_pData);


小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-13 09:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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