//1. 10进制转2进制
int iNumber = 255
char szBuf[64] = {0};
_itoa(iNumber, szBuf, 2);
输出结果:
//2. 10进制转16进制
// 方法1
char szBuf1[64] = {0};
sprintf(szBuf1, "%x", iNumber);
// 方法2
char szBuf2[64] = {0};
_ltoa(iNumber, szBuf2, 16 );
输出结果:
//3. 16进制转10进制
unsigned long lValue;//4 BYTE
char szHex[64] = {0};
memcpy(szHex, "0xFF78", 6);
sscanf(szHex, "%X", &lValue);
输出结果:
//4. 16进制转2进制
unsigned long lValue1;//4 BYTE
char szHex1[64] = {0};
memcpy(szHex1, "0xFF78", 6);
sscanf(szHex1, "%X", &lValue1);
char szExc[64] = {0};
_itoa(lValue, szExc, 2 );
输出结果:
//5. 2进制转10进制
char *pStop;
unsigned int iValue = 0;
char *pBin = "10111010010001";
输出结果:
//6. 2进制转16进制
char *pStop1;
char *pBin1 = "10111010010001";
unsigned iValue1 = strtol(pBin1, &pStop1, 2);
char szHex2[64] = {0};
sprintf(szHex2, "%x", iValue1);
输出结果:
7. CString转Unicode码(使用于中英文)
/*****************************************************************************
* 函数名称:String2Unicode
* 函数功能:字符串转成Unicode(使用于中英文)
* 输入参数: sSource:需要转成Unicode码的字符串
* 输出参数: 无
* 返回值 : 转成Unicode码字符
*****************************************************************************/
CString String2Unicode(CString sSource)
{
USES_CONVERSION;
DWORD dwNum = MultiByteToWideChar(CP_ACP, 0, T2A(sSource), -1, NULL, 0);
wchar_t *pwText = new wchar_t[dwNum] ;
dwNum = MultiByteToWideChar(CP_ACP, 0, T2A(sSource), -1, pwText, dwNum);
//unicode内容在pwText中,下面显示代码
CString m_Unicode;
for(int i = 0; i < (int)dwNum - 1; i++)
{
CString strTmp;
strTmp.Format(L"%04X", pwText[i] );
m_Unicode += strTmp;
}
delete[] pwText;
return m_Unicode;
}
CString sSource = L"我喜欢C++ I LOve C P P";
CString Unicode = String2Unicode(sSource);
输出结果: