如何将str“ 0xfa”转换为int 0xfa,str“ 0x5c”转换为int 0x5c?
我的代码:
#include <stdio.h>
#include <string.h>
int main(){
char a[]="0xfa";
char b[]="0x5c";
int c=a;
int d=b;
//i have to get c to be 0xfa,and d to be 0x5c
printf("%c%c\n",(char)c,(char)d);
return 1;
}
答案 0 :(得分:1)
在C中,是一个字符。
但是,您正在尝试将带有十六进制值的 str转换为十六进制int。
您应使用sscanf()
和%x
进行格式化。
或 atoi()
,strtol()
。
它们都是为此目的而设计的。