型如unsigned char ddd[]= {0x3f,0x2a,0xfe,0xe1,0x42,0x32,0xa2,0xd2,0xbb};
转换为unsigned char sss[] = "3f2afee14232a2d2bb";
因为ddd可能比较长,用itoa一个一个转感觉效率比较低,有没有好的做法?
转换为unsigned char sss[] = "3f2afee14232a2d2bb";
因为ddd可能比较长,用itoa一个一个转感觉效率比较低,有没有好的做法?
解决方案 »
- 串口数据保存为表格问题
- 按钮问题
- VC picture上怎么显示gif文件
- 用VC,编译时出的一个错!
- 一个关于用Socket传送文件的问题,急!!!!!!!!!!!!!!!!!!
- Debug Assertion Failed 错误!
- 我想要在listcontrol中直接编辑文本,还有自动添加一个空的列表项以便输入文本,请问我应该怎么做
- 自编一个网页浏览器时遇到的一个简单问题。利用WebBrower组件在VC++的对话框程序中.....
- 中文字符串的截断问题?
- C++调用Matlab库文件
- 急。刚面试完一家多媒体公司,公司领导要我写一份计划书。可我只会写程序没写过计划书,所以来这里请求缓助。这关系到我的前途命运,希望
- 大学读计算机专业的朋友请进!你们的毕业论文都是什么题目阿?
//szString -- "3f2afee14232a2d2bb";
//nLen --lpBuf的长度
void tostring(const unsigned char* lpBuf, unsigned char* szString, int nLen)
{ unsigned char dH, dL;
int i;
szString[ nLen * 2 ] = 0;
for(i = 0; i < nLen; i++ )
{
dH = 0x30 + ((lpBuf[i]>>4) & 0x0f);
dL = 0x30 + (lpBuf[i] & 0x0f);
if( dH > 57 )
dH = dH + 7;
if( dL > 57 )
dL = dL + 7;
szString[ i * 2 ] = dH;
szString[ i * 2 + 1 ] = dL;
}
}
char sss[100];
unsigned char ddd[]= {0x3f,0x2a,0xfe,0xe1,0x42,0x32,0xa2,0xd2,0xbb};char SetAsciiToStr(char c)
{
return c>9?c-0xa+'a':c+'0';
}void setHexToStr(char*sss,char*ddd)
{
int i,j,len=sizeof(ddd);
for(i=j=0;i<len;i++){
sss[j++]=SetAsciiToStr(ddd[i]>>4);
sss[j++]=SetAsciiToStr(ddd[i]&0xF);
}
sss[j]=0;
}
{
unsigned char ddd[]= {0x3f,0x2a,0xfe,0xe1,0x42,0x32,0xa2,0xd2,0x1b};
AfxMessageBox(ConvertToStr(ddd,9));
}CString CWingoDlg::ConvertToStr(unsigned char *c,int n)
{
CString str,tmp;
int i=0;
while (i<n) {
tmp.Format("%x",*(c+i++));
str += tmp;
}
return str;
}
看一下 我这个,但是不知道执行,谁的效率更好