如何将char数组转换为uint8_t并在c中打印



我有一个十进制数,我们已经将其转换为十六进制,并存储在十六进制数组中。之后,我添加了一个";0x";到这个数字(实际上是char数组(。现在我想把这个十六进制数(在char数组中(转换成Uint8_t,然后打印它。第一个问题是如何进行转换,第二个问题是在打印过程中,应该使用什么打印格式(%02x、%d、%s和…(?

此示例将十六进制字符串转换为整数:

#include <stdio.h>

int main(void)
{
int val;
char str[] = "0x12";
int res = sscanf(str, "%i", &val);
printf("res=%d val=%dn", res, val);
}

程序输出

res=1 val=18

%i格式在scanf函数族中用于接受十进制、八进制(以0开头(或十六进制(以0x开头(的输入。如果您只想接受十进制,请使用%d%u

相关内容

  • 没有找到相关文章

最新更新