如何从字符数组中读取两位数据

mxy10086 2011-02-22 11:05:17
byte chessdata[11][19];
void CLlkDlg::OnReadChessboardData()
{
// TODO: Add your control notification handler code here
//取窗口句柄
HWND gameh=::FindWindow(NULL,"QQ游戏 - 连连看角色版");
//获得进程ID
DWORD processid;
GetWindowThreadProcessId(gameh,&processid);
//打开指定进程
HANDLE processH=OpenProcess(PROCESS_ALL_ACCESS,FALSE,processid);
//读取指定进程 内存数据
LPCVOID pbase=(LPCVOID)0X0012A480;
LPVOID nbuffer=(LPVOID)chessdata;
DWORD byread;
ReadProcessMemory(processH,pbase,nbuffer,11*19,&byread);
char buf[2];
m_chessdata="";
for (int y=0;y<11;y++)
{
for (int x=0;x<19;x++)
{
itoa(chessdata[y][x],buf,16);
m_chessdata+=buf;
m_chessdata+=" ";
}
m_chessdata+="\r\n";
}
UpdateData(FALSE);
}

======================================================================

如何从字符数组buf[2]中读取两位数据

不够两位前面填零补齐

请高手指教
...全文
405 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2011-03-04
  • 打赏
  • 举报
回复
.Format("%02x",(unsigned char)intvalue)

.Format("%02X",(unsigned char)intvalue)
zwwjoy 2011-03-04
  • 打赏
  • 举报
回复
CString strHex;
strHex.Format("%.2X",intvalue);//intvalue转为2位16进制格式表示
zwwjoy 2011-03-04
  • 打赏
  • 举报
回复

CString strHex;
strHex.Format("0x%.2X",intvalue);

你试试看
mxy10086 2011-02-27
  • 打赏
  • 举报
回复
不如0 怎么能让它显示 00

我的意思是想让他 对齐

不想用\t
赵4老师 2011-02-23
  • 打赏
  • 举报
回复
好象爱因斯坦说过“提出问题比解决问题难”
wanghao111 2011-02-23
  • 打赏
  • 举报
回复
首先bs下楼上发广告,其次,lz的问题不太明白啊,“如何从字符数组buf[2]中读取两位数据”,能详细说明下吗?
jixingzhong 2011-02-23
  • 打赏
  • 举报
回复
两个字节吧?
mxy10086 2011-02-23
  • 打赏
  • 举报
回复
在MFC的编辑框里显示的
justkk 2011-02-23
  • 打赏
  • 举报
回复
与你的显示方法有关系吧
你是如何显示的?
mxy10086 2011-02-23
  • 打赏
  • 举报
回复
你好,Sorry,可能我没有把问题说明白

0 0 10 b 13 12 14 0 0 0 0 0 a f 1b f5 1a 0 0
0 8 10 e 12 7 14 3 0 0 0 3 4 12 17 a 19 7 0
e 9 5 0 0 0 11 1a f5 0 18 d c 0 0 0 1c 7 d
6 16 0 0 0 0 0 15 1c 0 5 19 0 0 0 0 0 15 f5
1a f 0 0 0 0 0 5 2 0 4 14 0 0 0 0 0 10 c
3 1b 0 0 0 0 0 c 18 0 f2 11 0 0 0 0 0 2 a
a f 0 0 0 0 0 4 9 0 3 11 0 0 0 0 0 16 e
5 6 0 0 0 f2 0 8 10 0 13 d 0 0 0 17 0 2 17
18 7 f 0 0 0 17 13 1a 0 18 15 b 0 0 0 1b 8 15
0 8 f7 19 11 d 14 9 0 0 0 b 16 13 2 c 6 f6 0
0 0 19 4 f7 16 f5 0 1b 0 0 0 f6 e 9 b 6 0 12

以上是程序运行后读出的数据

有的是2位十六进制数据,有的是一位十六进制数据,还有的是零

我想让数据都显示两位 不足两位的在前面用零补齐,该怎么写啊。

不好意思,我是新手。

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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