0

我正在尝试将十六进制十进制字符串值转换为无符号长整数。

例如:

字符串 s="0x4d14" --> 无符号长整数 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*

4

1 回答 1

2

这对我有用

const char* string = "0x4d14";
long unsigned int b = strtoul(string, 0, 16);

更新:

char c[10];
... // read values
strtoul(c, 0, 16);
...

看看一些C语言教程

于 2013-04-20T16:26:21.593 回答