16进制字符串CString 如何转为 BYTE[] 数组
来源:互联网 发布:职业性格测试 知乎 编辑:程序博客网 时间:2024/05/19 00:55
需求:
16进制字符串CString如何转为BYTE[]数组
CString str ="56 45 52 30 30";
BYTE buf[64];
赋值后
buf[64] = {0X56,0X45,0X52,0X30,0X30};
int CCP210xSerialTestDlg::Str2Hex(CString str, unsigned char *data)
{
unsigned int t;
int Length;
int len=str.GetLength();
char a[10]={0};
Length=0;
for(int i=0; i<len; )
{
if(str[i]==' ') //空格
{
i++;
continue;
}
a[0]=str[i]; // high byte
i++;
if (i>=len)
{
break;
}
a[1]=str[i]; // low byte
a[2]='/0'; // 字符串结束标志
t=strtoul(a,NULL,16); //将字符串转换成无符号长整型数
data[Length]=(unsigned char)t;
Length++;
i++;
}
return Length; //转换的字节数
}
处理这类问题的方法很多,我的方法的特点在于使用了strtoul()函数。
虽然可行,但我还是有疑问,CString类可以直接用数组下标的方式(str[i])访问吗?感觉是不可以这样做,却能解决问题,很纳闷。希望有高手指点一下,不胜感谢。
傅绍兵
2010-11-11
- 16进制字符串CString 如何转为 BYTE[] 数组
- 16进制字符串CString 如何转为 BYTE[] 数组
- CString 16进制字符串转为 BYTE[] 数组
- 16进制字符串CString 如何转为 BYTE[]
- [转]CString 如何转为 BYTE[] 数组
- C# byte转为16进制字符串~~~ToString()格式
- CString的16进制转换成BYTE数组
- 将十六进制字符串转为byte数组
- 16进制字符串转byte数组
- JAVA中 byte[]数组如何转为InputStream
- Java的byte数组、16进制字符串、字符串
- 将10进制的字符串转为16进制的byte
- CBITMAP转为BYTE数组
- byte数组转为图片
- iOS Objective c 16进制字符串转为二进制数组
- cstring如何转为LPOLESTR
- 将16进制的字符串转换成byte数组
- 16进制字符串和byte数组的转化类
- 240多个js插件
- Android SurfaceFlinger中的Layer,LayerDim,LayerBlur,LayerBuffer
- COALESCE and CASE in SQL
- vc串口通信3种方法的实现和比较
- csdn开博----我的程序员之路
- 16进制字符串CString 如何转为 BYTE[] 数组
- 为Mysql添加远程访问权限
- ext不使用ajax提交
- VC使当前所有窗口最小化
- MySql常用的函数
- pppoe拨号上网 路由器(Router) 网关
- javascript中获取事件的源
- 生活①
- 防止对话框程序按Enter和ESC退出的对策