C++ 将十六进制字符串转换为C++;

C++ 将十六进制字符串转换为C++;,c++,C++,我有一个十六进制字符串,如下所示: char hexString = "1a"; BYTE Anything[0x10] = { 0x1a }; 我想把它转换成一个字节,这样看起来像这样: char hexString = "1a"; BYTE Anything[0x10] = { 0x1a }; 在对流之后。 我需要这样做16字符串,这样我有一些东西在最后看起来像这样 BYTE Anything[0x10] = { hexToByte(hexString1), hexToByte(he

我有一个十六进制字符串,如下所示:

char hexString = "1a";
BYTE Anything[0x10] = { 0x1a };
我想把它转换成一个字节,这样看起来像这样:

char hexString = "1a";
BYTE Anything[0x10] = { 0x1a };
在对流之后。 我需要这样做16字符串,这样我有一些东西在最后看起来像这样

BYTE Anything[0x10] = { hexToByte(hexString1), hexToByte(hexString2), 16 times };

任何想法,因为我不知道怎么做

只有256个值。。。。足够小,可以在阵列中查找

BYTE Anything[0x10] = {
    (BYTE)std::stoul(hexString1, nullptr, 16),
    (BYTE)std::stoul(hexString2, nullptr, 16), ... };
int hexToByte(const char* strHex)
{
   char* array[] = {"00", "01", "02", "03", "04", "05", "06", "07",
                    "08", "09", "0A", "0B", "0C", "0D", "0E", "0F",
                    "10", "11", "12", "13", "14", "15", "16", "17",
                    "18", "19", "1A", "1B", "1C", "1D", "1E", "1F"
                   /* Fill in the rest, up to FF */};

    int i;              
    for(i=0; strcmp(strHex,array[i]); ++i) ;

    return i;
}

就像小数一样:重复加法和乘法,但是用16而不是10乘法。如果你想用手做的话。(注意
0x1a
26
相同)