我正在尝试将十六进制十进制字符串值转换为unsigned long int。
例如:
String s =“0x4d14” - > unsigned long int B = 0x4D14
好的,我解决了以前的问题,
我还有另一个问题:
我从串口监视器中读取十六进制代码,如下所示:
char c[10];
char c[i]=serial.read();
String s=c[i];
i++;
if (i==10)
s="";
但现在我不能这样做:
const char* string = s;
要使用strtoul功能,我该怎么办?
无论我的代码是什么逻辑,我都没有发布我的完整代码,但我现在的问题是string
转换为const char*
。
答案 0 :(得分:2)
这对我有用
const char* string = "0x4d14";
long unsigned int b = strtoul(string, 0, 16);
更新
char c[10];
... // read values
strtoul(c, 0, 16);
...
看看一些C语言教程