#include<iostream>
#include<string>
using namespace std;
string bufToHexStr(const char *pBuf, int bufLen)
{
if(NULL == pBuf || bufLen < 0)
{
return "";
}
int i = 0;
string sRet = "";
for(i = 0; i < bufLen; i++)
{
char szTmp[3] = {0};
sprintf(szTmp, "%02x", (unsigned char)pBuf[i]); // 这里要用unsigned char啊啊啊
sRet += szTmp;
}
return sRet;
}
int main()
{
int a = 0x12345678;
string s((const char*)&a, sizeof(int));
cout << s << endl;
cout << "------" << endl;
cout << bufToHexStr(s.c_str(), s.size()) << endl;
return 0;
}
结果:
xV4
------
78563412