如何将十六进制str转换为int?

时间:2020-08-20 00:57:33

标签: c

如何将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;
}

1 个答案:

答案 0 :(得分:1)

在C中,一个字符。

但是,您正在尝试将带有十六进制值的 str转换为十六进制int。

您应使用sscanf()%x进行格式化。

atoi()strtol()

它们都是为此目的而设计的。