将字符*转换为C中的uint16
我有类似的字符数组将字符*转换为C中的uint16,c,linux,C,Linux,我有类似的字符数组 char* str = 0x058f; 如何将此值转换为int和uint16\u t,并按uint16\u t类型正确打印此值 这意味着我希望uint16的结果也是058f: uint16_t result = 0x058f; 将此值转换为int和uint16\u t,并通过uint16\u t正确打印此值 您可以使用strtol将字符串转换为整数值 *char* str = "0x058f"; result = strtol(str,NULL,16); printf(
char* str = 0x058f;
如何将此值转换为int和uint16\u t,并按uint16\u t类型正确打印此值
这意味着我希望uint16的结果也是058f:
uint16_t result = 0x058f;
将此值转换为int和uint16\u t,并通过uint16\u t正确打印此值
您可以使用strtol将字符串转换为整数值
*char* str = "0x058f";
result = strtol(str,NULL,16);
printf("result = %x\n",result);*
我希望这能有所帮助。您的意思是转换
char*str=“0x058f”代码>?查看
中的sscanf()
和SCNx16
。这个问题根本没有显示任何研究工作。谷歌c十六进制到int
,一大堆答案:非常感谢,我知道了~
*char* str = "0x058f";
result = strtol(str,NULL,16);
printf("result = %x\n",result);*