如何把数组里面的元素合成一个数值?

2019-07-20 08:21发布

char* msg;
short wTemp;//假设是温度值
memcpy(msg,&wTemp,2);
源wTemp所指的内存地址的起始位置开始拷贝2个字节到目标msg所指的内存地址的起始位置中函数返回wTemp的值。
那么怎么才能转换回来呢?使最终的结果为一个温度值!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
BMN李
1楼-- · 2019-07-20 13:34
 精彩回答 2  元偷偷看……
candylife9
2楼-- · 2019-07-20 18:19
你这样程序不会崩溃么。。。
得舍
3楼-- · 2019-07-20 21:50
candylife9 发表于 2018-5-4 16:26
你这样程序不会崩溃么。。。

不知道崩没崩溃,编译没错误,就是显示结果不对!
正点原子
4楼-- · 2019-07-21 00:05
 精彩回答 2  元偷偷看……
DreamWaterPro
5楼-- · 2019-07-21 02:16
搞不懂为什么要用memcpy....

操作比较简单,但是需要楼主掌握指针的操作。设置一个指针,让他指向msg头部,然后强制类型转换,然后读指向的内容就可以了:
[mw_shl_code=c,true]char* p=msg;    //获取头指针
value=*(            //2 取值
(short*)p)          //1 强制类型转换[/mw_shl_code]

其实也就是2#所说的代码。
fantasyfeather
6楼-- · 2019-07-21 07:28
移位加强制类型转换,补习一下C语言

一周热门 更多>