C++中将字节数组转换为字符数组的两个方法

方法一:
void bytes_to_hexstr(char* dest, unsigned char* src) {
char buffer[3];

for (int i = 0; i < 16; i++) {
  itoa(src[i], buffer, 16);
  if (strlen(buffer) == 1) {
   strcpy(dest + i * 2, "0");
   strcpy(dest + i * 2 + 1, buffer);
  } else
   strcpy(dest + i * 2, buffer);
}
}

方法二
#include <ostringstream>
#include <iostream>
#include <iomanip>
*const char* bytes_to_hexstr(unsigned char* buffer) {
std::ostringstream oss;
oss << std::hex << std::setfill('0');
for (int i = 0; i < 16; i++) {
  oss << std::setw(2) << int(*buffer++);
}
return oss.str().c_str();
}

原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/1332915.html