进行日志记录时,经常遇到一些二进制数据需要保存,但是日志记录函数一般不支持二进制,可以考虑将二进制数据转换成16进制字符串保存。
std::string toHexString(unsigned char* input, const int datasize)
{
std::string output;
char ch[3];
for(int i = 0; i < datasize; ++i)
{
unsigned char chBit=(unsigned char)input[i];
snprintf(ch, 3, "%02x", chBit);
output += ch;
}
return output;
}
本文介绍了一种将二进制数据转换为16进制字符串的方法,以便于将其记录到日志文件中。通过使用C++标准库函数snprintf和字符串操作,实现了对任意大小的二进制数据的转换。
200

被折叠的 条评论
为什么被折叠?



