【发布时间】:2019-06-20 19:46:01
【问题描述】:
这里的愚蠢问题:
我正在尝试将 char 数组转换为整数。 这是我的情况(从主代码中提取,我已经简单化了..):
int val;
char *buff;
uint8_t v1 = 2;
uint8_t v2 = 25;
buff[0] = v1;
buff[1] = v2;
val = strtol(buff, NULL, 16);
在这种情况下,val 总是返回“0”,但如果我将“buff”替换为“0x225”,它会返回预期值 549。
我做错了什么? 提前谢谢..
【问题讨论】:
-
从您的 cmets 看来,您正在按原样接收数字,没有文本表示 (ascii)。如果是这样,那么您不需要 strtol(),而只需加入 uint8_t 值即可获得结果。对于小端处理器:val = (v2
标签: c++ arrays arduino char hex