提问人:sh.sagheb 提问时间:10/22/2022 更新时间:10/22/2022 访问量:110
如何将 char 数组转换为 uint8_t 并在 c 中打印它?
How to convert char array to uint8_t and print it in c?
问:
我有一个十进制数,我们已将其转换为十六进制并存储在十六进制数组中。之后,我在这个数字上添加了一个“0x”(实际上是 char 数组)。现在我想将这个十六进制数(在 char 数组中)转换为 Uint8_t然后打印出来。第一个问题是如何进行这种转换,第二个问题是在打印过程中,应该使用哪种打印格式(%02x、%d、%s 和 ...)?
答:
1赞
Weather Vane
10/22/2022
#1
此示例将十六进制字符串转换为整数:
#include <stdio.h>
int main(void)
{
int val;
char str[] = "0x12";
int res = sscanf(str, "%i", &val);
printf("res=%d val=%d\n", res, val);
}
程序输出
res=1 val=18
该格式在函数系列中用于接受十进制、八进制(前导 0)或十六进制(前导 0x)的输入。如果您只想接受十进制,请使用 或 .%i
scanf
%d
%u
评论
char array[] = "0xA5";