C/C++: Converting hexadecimal value in char to integer

前端 未结 7 1657
萌比男神i
萌比男神i 2021-01-01 06:28

I have hexadecimal values stored as characters:

char A = \'0\';
char B = \'6\';
char C = \'E\';

... I need them coverted to integers. I kno

7条回答
  •  星月不相逢
    2021-01-01 06:34

    #include 
    #include 
    
    
    int xtoi(char c)
    {
        int v = -1;
        char w=toupper(c);
        if(w >= 'A' && w <= 'F'){
            v = w - 'A' + 0x0A;
        }else if (w >= '0' && w <= '9'){
            v = w - '0';
        }
    
        return v;
    }
    
    int main(int argc,char **argv)
    {
        printf("v:%p\n",argc == 2 ? xtoi(argv[1][0]):-1);
        return 0;
    }
    

提交回复
热议问题