16进制字符串CString 如何转为 BYTE.doc

上传人:博****1 文档编号:558866659 上传时间:2022-09-11 格式:DOC 页数:4 大小:53.50KB
返回 下载 相关 举报
16进制字符串CString 如何转为 BYTE.doc_第1页
第1页 / 共4页
16进制字符串CString 如何转为 BYTE.doc_第2页
第2页 / 共4页
16进制字符串CString 如何转为 BYTE.doc_第3页
第3页 / 共4页
16进制字符串CString 如何转为 BYTE.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《16进制字符串CString 如何转为 BYTE.doc》由会员分享,可在线阅读,更多相关《16进制字符串CString 如何转为 BYTE.doc(4页珍藏版)》请在金锄头文库上搜索。

1、16进制字符串CString 如何转为 BYTE 数组 在网上和QQ群里广发帖,寻求解决16进制字符串CString 转为 BYTE 数组的方法。费尽周折在一个大学同学的帮助下,问题解决了!在这简单分析下加深印象,同时也希望对有需要的朋友有参考作用:需求:16进制字符串CString 如何转为 BYTE CString str =01 02 03 04;BYTE cmd1024;赋值后cmd1024 = 0X01,0X02,0X03,0X04; 解决方法:第一步:将ASCII码转化为16进制数(注意:ASCII码和16进制数的区别)/将ASCII码转化为16进制数BYTECSendDataDl

2、g:ConvertHexChar(BYTEch)if(ch=0)&(ch=A)&(ch=a)&(ch=f)returnch-a+10;elsereturn-1;第二步:调用上面的那个函数来实现需求CStringstr=01020304;BYTEtmpByte=0x00;intstrLen=str.GetLength();BYTEcmd1024;memset(cmd,0,sizeof(cmd);for(inti=0,j=0;i1024,jstrLen;i+,j+)if(strj=)+j;tmpByte=strj;cmdi=ConvertHexChar(tmpByte)4;/左移4位if(str+

3、j=)+j;tmpByte=strj;cmdi=cmdi+(ConvertHexChar(tmpByte)&0xF);/取低4位然后相加。注释:把字符赋给BYTE,实则赋的是字符的ASCII码值,因此要先把ASCII码转化为对应的16进制数。两个字符赋给一个BYTE,就要把第一个字符放到BYTE的高4位,而第二个字符放到BYTE的低4位。中间通过判断去掉空格。posted on 2007-12-18 15:04 isabc 阅读(4397) 评论(2) 编辑收藏 引用 所属分类: C+基础 评论#re: 16进制字符串CString 如何转为 BYTE 数组 2007-12-18 18:06

4、Lee7 (2007-12-18 11:42:34) 松 main() CString str =01 02 03 04; BYTE cmd1024; char *pstr=NULL; char stValue3=0; DWORD dwCount = 0; DWORD i =0 ; LPTSTR lpsz =(LPTSTR)(LPCTSTR)str; pstr = (char *)lpsz; while (pstr) if (i=2) & (*pstr != ) printf(errorrn); if (*pstr != ) stValuei+=*pstr; pstr+; continue; else i=0; sscanf(string, %X, &cmddwcount+); while(pstr & (*pstr= ) pstr+; printf(dwcount=%drn,dwcount); 回复更多评论

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号