字符转换的一些问题 随便一个整数 ,比如说1014,569874先把他们转成16进制3F6,8B212然后不足8个字符的从头部开始填充0000003F6,0008B212然后每两个字符分别存入到byte[4]里达到byte[]={0xf6,0x03,0x00,0x00},byte[]={0x12,0xB2,0x08,0x00}字节数组里都要求是整数 10进制16进制都行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将整数转换为字符串CString,然后用CString的InsertAt实现从头填0至于后面的每两个字符分别存入到byte[4]里,这论坛上有很多答案的,给个链接:http://topic.csdn.net/u/20101224/15/fedb81bb-daf1-47a3-9691-c70f4628c0b3.html CString::Format(_T("0x%08x"),...);先格式化为16进制的字符串 先用CString的Format(_T("0x%08x"),...)将整数转换为字符串,然后循环用CString的InsertAt实现从头填0 可以这么做:int a = 1014;char byte[4];// 低字节在前byte[3] = (aa >> 24) & 0xff;byte[2] = (aa >> 16) & 0xff;byte[1] = (aa >> 8) & 0xff;byte[0] = aa & 0xff;// 如果是intel cpu直接可以这样memcpy((void *)byte, (void *)&a, sizeof(a)); 首先把字符串转换为数组存储,看你发出来的数据,应该是按字节显示的吧,那就一个字节就为数组的一个数值;至于如何将字符串转换为数组,网上代码很多,提供思路如下:设置两个数分别存储字节的高位和低位,用个循环依次取出一个字符来,遇到空格就继续寻找下一个字符,第一个为高位,第二个为低位,将两个这样高位左移4位再和低位与运算,就得到一个字节,以此类推,直到字符查找结束CString -> char*#include <atlbase.h>USES_CONVERSION;CString str(_T("...."));char* pbuf = T2A(str); jwybobo2007 (当爸爸了!) 你的方法不对呀byte[]={-10,03,00,00}第一个值应该是F7呀 先atoi再sprintf( "%.Nd" ),想要多少位,就改那个N 对话框WS_CLIPCHILDREN属性引发的问题 内存不能为read 不用Edit自己做个窗口如何接受输入法的输入? 一个单字节的汉字 范围是多少? 高分求购Dircet Show中截取指定一段媒体资源的实例及资料 参数传递问题 那位高手能给小弟解释一下VC里的线程问题 静态链接库中的资源 月薪6000软件开发在北京算什么水平 如何在notepad中添加个子菜单,点击子菜单可以运行我想要运行的程序? 刚开始用vs2008,一个非常简单的小问题 请问一下要维持多个TCP连接用什么方法比较好?谢谢
至于后面的每两个字符分别存入到byte[4]里,这论坛上有很多答案的,给个链接:
http://topic.csdn.net/u/20101224/15/fedb81bb-daf1-47a3-9691-c70f4628c0b3.html
char byte[4];
// 低字节在前
byte[3] = (aa >> 24) & 0xff;
byte[2] = (aa >> 16) & 0xff;
byte[1] = (aa >> 8) & 0xff;
byte[0] = aa & 0xff;
// 如果是intel cpu直接可以这样
memcpy((void *)byte, (void *)&a, sizeof(a));
至于如何将字符串转换为数组,网上代码很多,提供思路如下:
设置两个数分别存储字节的高位和低位,用个循环依次取出一个字符来,遇到空格就继续寻找下一个字符,第一个为高位,第二个为低位,将两个这样高位左移4位再和低位与运算,就得到一个字节,以此类推,直到字符查找结束
CString -> char*#include <atlbase.h>USES_CONVERSION;CString str(_T("...."));
char* pbuf = T2A(str);
(当爸爸了!) 你的方法不对呀byte[]={-10,03,00,00}第一个值应该是F7呀
再sprintf( "%.Nd" ),想要多少位,就改那个N