Convert char with hex value to String

后端 未结 2 1454
太阳男子
太阳男子 2020-12-20 06:40

If I have a character like the following:

wchar_t c = \'\\x0A\'

What\'s an easy way to convert it so that it becomes something like:

<
2条回答
  •  天命终不由人
    2020-12-20 06:57

    The integral value of c would be 0x0A (10 in base 10). You can use sprintf to format it as hex:

    wchar_t c = '\x0A';
    int c_val = c;
    char string[3];
    
    sprintf( string, "%.2X", c_val );
    

    Note the intermediate c_val variable is not needed, only added for clarity

    or you can do it manually:

    int c_low = c & 0x0F;
    int c_high = ( c & 0xF0 ) >> 4;
    
    ...translate c_low and c_high to its textual representation...
    

提交回复
热议问题