如何用16进制显示文件代码?

haitaowang1983 2007-04-16 04:41:28
我的毕业设计是病毒检测系统,请问各位高手,在VC++中如何读取文件代码并以16进制形式显示出来。
...全文
434 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
做鸡真好吃 2007-04-18
  • 打赏
  • 举报
回复
mark`
lzg0001 2007-04-16
  • 打赏
  • 举报
回复
第一部分改一下:btemp=bt>>4;//取高半字节
第二部分改一下:btemp=bt&0x0f;//取低半字节
lzg0001 2007-04-16
  • 打赏
  • 举报
回复
一个字节一个字节地读,再以十六进制显示不就好了!对于单字节有选择的显示ASCII也容易,要是想进一步判断显示汉字的内容就困难了,因为一个汉字内码前可能有奇数个大于0X80的字节,没办法找到汉字的起始位置!

显示字节的十六进制:

#ifdef UNICODE
#define C(c) L##c
#else
#define C(c) c
#endif

void ShowHEX(BYTE bt,HDC hdc,int cx,int cy)
{TCHAR str[2];
BYTE btemp=bt&0xf0;
if(btemp>9)str[0]=btemp-10+C('A');
else str[0]=btemp+C('0');
btemp=bt>>4;
if(btemp>9)str[1]=btemp-10+C('A');
else str[1]=btemp+C('0');
TextOut(hdc,cx,cy,str,2);
}
wwwasdf5 2007-04-16
  • 打赏
  • 举报
回复

给大家介绍个技术群

大家一起学习,一起提高

32517199

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧