此函数 vec2string 采用 char 向量并转换为十六进制字符串表示,但每个字节值之间有一个空格。只是我的应用程序中的格式要求。任何人都可以想出一种方法来消除对它的需求。
std::string& vec2string(const std::vector<char>& vec, std::string& s) {
static const char hex_lookup[] = "0123456789ABCDEF";
for(std::vector<char>::const_iterator it = vec.begin(); it != vec.end(); ++it) {
s.append(1, hex_lookup[(*it >> 4) & 0xf]);
s.append(1, hex_lookup[*it & 0xf]);
s.append(1, ' ');
}
//remove very last space - I would ideally like to remove this***
if(!s.empty())
s.erase(s.size()-1);
return s;
}