c++ A2W、W2A、A2T、T2A的使用方法

1、A2W和W2A

   在《Window核心编程》,多字节和宽字节之间转换比较麻烦的,MultiByteToWideChar函数和WideCharToMultiByte函数有足够多的参数的意义让我们去理解。那么使用ATL的一个很好的字符串的转换宏:A2W和W2A。

一下示例都是在Unicode编码方式下进行编写。

(1)A2W的用法:多字节转宽字节

USES_CONVERSION;
CString tmpStr;
char*LineChar="fdsfdsa";
const WCHAR * cLineChar = A2W(LineChar);
tmpStr=cLineChar;

(2)W2A的用法:宽字节转多字节

USES_CONVERSION;
CString tmpStr;
WCHAR* LineChar="fdsfdsa";
const char* cLineChar = W2A(LineChar);

2、A2T和T2A

(1)A2T的用法:char* ==> CString

USES_CONVERSION;
char * pChar="char to cstring";
CString cTemp=A2T(pChar);
 
//上面代码可以按照下面这样写
CString cTemp;    //不能在声明时赋值,会报错
char* pChar = "1111";
cTemp = pChar;

(2)T2A的用法:CString ==> char*

USES_CONVERSION;
CString cTemp =_T("char to cstring");
char * pChar=T2A(pChar);

猜你喜欢

转载自blog.csdn.net/dxm809/article/details/113875398