关于使用MSCOMM控件的问题 使用MSCOMM控件是否只能实现字符串的收发?使用MSCOMM控件如何实现16进制数据的收发? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 COleSafeArray 每一个就是一个字节,不就是16进制么?VARIANT variant_inp;COleSafeArray safearray_inp;int len; variant_inp = GetInput();safearray_inp = variant_inp;len = safearray_inp.GetOneDimSize();for( .. <len;.. ){} 那不是只是在数据的传输过程中才是按16进制传的,但是要是在发送框中写入数据进行传输,这个数据一定被认定为是字符串吧?也就是说我想传16进制数 ef,但是实际传输的是ef的ASCII。 如:发送框中写入的数据是ASCII:01 02 03 04 05事实上:ASCII '01' = 30h 31h;所以发送前要转换到 数值 01:取第一个ASCII =‘0’所以:‘0’-‘0’=0;取第二个ASCII =‘1' 所以:‘1’-'0' =1;0要在前面所以左移4位( << 4)加上 1=00000001(B)这个发出去的字节就是01h. 你可以按二进制发送,发关的都是数字(不是字符),比如:BYTE a;a=10;或者a=0x0A;这两个语句都是一样的结果,当接收方想显示字符时,可以把数字转换成字符,用itoa就可以了 网页中嵌入MFC开发的OCX控件,Tab键顺序的问题 1+2+3+....+30=负数?求高手指点错误 《深入浅出MFC》中第二章消息影射中不明白的地方,请教。 右键菜单怎么不能和主菜单上的菜单项都响应? 关于重载mainfrm 中的openfile,实现文件的导入? 检测目标主机是否存在的问题 VC写的Server, VB写的Clent; Clent出现错误Address in use 关于多文档的几个问题 这个问题回答只要一句话,可是我不知道! PDA高手请进! 【原创&交流】分享一个开源的批量修改VC工程属性的小工具 win7下屏蔽热键Ctrl+Alt+Delete的问题
VARIANT variant_inp;
COleSafeArray safearray_inp;
int len;
variant_inp = GetInput();
safearray_inp = variant_inp;
len = safearray_inp.GetOneDimSize();for( .. <len;.. )
{
}
01 02 03 04 05
事实上:
ASCII '01' = 30h 31h;
所以发送前要转换到 数值 01:
取第一个ASCII =‘0’所以:‘0’-‘0’=0;
取第二个ASCII =‘1' 所以:‘1’-'0' =1;
0要在前面所以左移4位( << 4)
加上 1=00000001(B)
这个发出去的字节就是01h.