0
我有这个字符串如何在C++中将十六进制字符串拆分为数组?
string in = "Two One Nine Two";
我把它转换使用下面的函数
std::string string_to_hex(const std::string& input)
{
static const char* const lut = "ABCDEF";
size_t len = input.length();
std::string output;
output.reserve(2 * len);
for (size_t i = 0; i < len; ++i)
{
const unsigned char c = input[i];
output.push_back(lut[c >> 4]);
output.push_back(lut[c & 15]);
}
return output;
}
现在,如何将它分割成一个数组这样
int plain[16] = {0x54,0x77,0x6F,0x20,0x4F,0x6E,0x65,0x20,0x4E,0x69,0x6E,0x65,0x20,0x54,0x77,0x6F};
我不认为你理解这个任务。例如,字符“w”不是十六进制值。也许你需要在转换为十六进制之前将“Two”转换为数字2。 –
如果你遍历'input.c_str()'的结果,你会发现它是一个像'plain'这样的数组。 –