C/C++:将char中的十六进制值转换为整数

jur*_*rij 4 c c++ char

我有十六进制值存储为字符:

char A = '0';
char B = '6';
char C = 'E';
Run Code Online (Sandbox Code Playgroud)

......我需要它们转换为整数.我知道'atoi',但这仅适用于十进制编码的char值.任何类似的功能?

Ben*_*igt 7

int v = (A > '9')? (A &~ 0x20) - 'A' + 10: (A - '0');
Run Code Online (Sandbox Code Playgroud)

对于ASCII是正确的.对于其他字符集,类似的方法可行,但您可能需要toupper而不是&~ 0x20.