#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



本文转载:CSDN博客