我正在尝试将
形式的十六进制字符串转换为std::string mystring = "00A4040C06FF5142534014";
以以下形式发送给BYTE:
BYTE cmd2[] = {0x00,0xA4,0x04,0x0C,0x06,0xFF,0x51,0x42,0x53,0x40,0x14};
我尝试使用以下功能:
std::vector<char> HexToBytes(const std::string& hex)
{
std::vector<char> bytes;
for (unsigned int i = 0; i < hex.length(); i += 2) {
std::string byteString = hex.substr(i,2);
char byte = (char) strtol(byteString.c_str(),NULL,16);
bytes.push_back(byte);
}
return bytes;
}
但这并没有给我正确的转换。也许有人可以帮助我?