unicode下char*和CString和一些数据之间的转换

时间:2023-03-08 17:33:14

首先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

用1的方法转char*->BYTE*,定义一个循环,在循环中定义一个临时CString变量Format取出单个BYTE元素

6、字符串转整数

用atoi那一系列函数(a代表ascii,to代表转化,i代表int)

同上还有itoa一系列函数

7、_T("01FF")转十进制:511

long a = wcstol(_T("01FF"),NULL,16);//a=511