C++ char[]数组取值问题,谢谢大家

我把内容放到char[]数组里面了,要取前两个字节,按照小尾端形式,转换成短整型,该怎么转换啊,

            unsigned short num;
            memcpy(&num, recv_buf, 2);
        不知道这样可不可以
c++

1个回答

应该是可以的,前提是recv_buf里面存储的是有效的整数。(而不是字符串)
也可以直接写
num = recv_buf[0] + recv_buf[1]*256;
如果是字符串,那么就是
num = (recv_buf[0] - '0') * 256 + recv_buf[1] - '0';

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复hua_hengxin: 你管你从哪里来的数据,数据本身要正确,比如说传过来1,那么小端,你的前两个字节必须是0x01和0x00
7 个月之前 回复
hua_hengixn
tianxian_1019 我的char[]数组里存的是服务器接收过来的数据 这个可以吗
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问