16进制转换成字符串

inline int hex_to_str(const unsigned char *hex, int hexlen, char *str, int &strlen)
{
	int outhexlen = hexlen * 2 + 1;

	if (strlen < outhexlen)
	{
		return -1;
	}

	strlen = outhexlen;

	for (int i = 0; i < hexlen; ++i)
	{
		_snprintf(str + 2*i, 3, "%02X", (unsigned char)hex[i]);
	}

	return strlen;
}


int _tmain(int argc, _TCHAR* argv[])
{
	UCHAR SigBytes[24] = {0,1,2,3,4,5,6};
	char szByte[50] = {0};
	int nLen = 50;
	hex_to_str(SigBytes, 24, szByte, nLen);
	
	return 0;
}

原文地址:https://www.cnblogs.com/hgy413/p/3693352.html