unicode下数据之间的转换
首先mfc下字符串只有两种数据:char(一个字节)和wchar_t(两个字节),很多其他数据类型如TCHAR,WCHAR等都是这个两个基本类型的宏定义,BYTE是uchar
1、对话框打印char*
char* info="";
::MessageBoxA(this->m_hWnd, info, "", MB_OK);
2、CString转char*
int nLen;
char * wsabuf = NULL;
USES_CONVERSION;
wsabuf = W2A(send_txt_str);//send_txt_str为CString消息
3、char*转CString
直接强制转换
4、_T("AA")转0xAA
BYTE byte1 = wcstol(_T("AA"), NULL, 16);
5、_T("你好")转C4 E3 BA C3
用2的方法转char*->BYTE*,定义一个循环,在循环中定义一个临时CString变量Format取出单个BYTE元素
6、字符串转整数,“ff”、_T("ff")转256
用atoi那一系列函数(a代表ascii,to代表转化,i代表int)
同上还有itoa一系列函数
ttoi(),CString转整数
使用strtol系列函数:(str to long)
int a;
CString str;
str=_("1234");
a=wcstol(str,NULL,10);
a->1234
7、_T("01FF")转十进制:511
long a = wcstol(_T("01FF"),NULL,16);//a=511
8、整数转字符串
_ltoa
9、把整数的十六进制转化成CString
int a=20;
CString temp_str;
temp_str.Format(_T("%02x"),20);
10、C4 E3 BA C3转_T("你好")
强制转换(CString)
长风破浪会有时,直挂云帆济沧海!
可通过下方链接找到博主
https://www.cnblogs.com/judes/p/10875138.html