方法一:
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();
}

posted on 2008-11-13 16:39  袁晓平  阅读(875)  评论(0编辑  收藏  举报