怎样将char型的十进制数据转换成十六进制的数据?该怎么解决
1个回答
展开全部
部分程序如下:
char data[300][20];
str.Format("%x",data[j]); //转换成十六进制
m_list.SetItemText(i, k, str);
数组data是读文件读取的数据,data里面的数据如下:10,98,102,104。
但是输出的在控件上显示的却是:124d754,124d758,124d77c,124d790
------解决方案--------------------------------------------------------你这是指针数组,data[j]是指针地址,不是数据。
str.Format("%x",data[i][j]);
------解决方案--------------------------------------------------------先把data数组转换为整数,再用str.Format
------解决方案--------------------------------------------------------我写的代码:
CString str = "";
CString strAll = "";
char data[300][20];
for (int i = 0; i < 300; i++){for (int j = 0; j < 20; j++ ){str.Format("%02x ",data[i][j]); //转换成十六进制
strAll += str;}}m_edit = strAll;
------解决方案--------------------------------------------------------试试str.Format(_T("%02X"), (UINT)data[i][j]);
------解决方案-------------------------------------------------------- 先atoi嘛
str.Format("%x",atoi(data[j]));
------解决方案--------------------------------------------------------printf( "%x", atoi( char ) );
------解决方案--------------------------------------------------------探讨以上几种方法我都试了,还是不行,输出的结果完全不对呀。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询