Windows/C++/MFC_ATL转换宏用于WCHAR,TCHAR,char转换以及其含义

相关类型转换:(强制转换会出现乱码)
wchar_t ‐> char : wcstombs();
或 WideCharToMultiByte(); //windows
char ‐> wchar_t : mbstowcs();

或 MultiByteToWideChar(); //windows


另外可使用ATL 提供的转换宏, 包含<atlconv.h.>
LPWSTR‐>LPTSTR: W2T();
LPTSTR‐>LPWSTR: T2W();
LPCWSTR‐>LPCTSTR: W2CT();
LPCTSTR‐>LPCWSTR: T2CW();
详细的ATL 转换宏
A2BSTR  OLE2A  T2A  W2A
A2COLE  OLE2BSTR  T2BSTR  W2BSTR
A2CT  OLE2CA  T2CA  W2CA
A2CW  OLE2CT  T2COLE  W2COLE
A2OLE  OLE2CW  T2CW  W2CT
A2T  OLE2T  T2OLE  W2OLE
A2W  OLE2W  T2W  W2T
上表中的宏函数,其实非常容易记忆:
2 好搞笑的缩写,to 的发音和 2 一样, 所以借用来表示“转换为、转换到”的含义。
A ANSI 字符串, 也就是 MBCS。
W、OLE 宽字符串,也就是 UNICODE。
T 中间类型T。如果定义了 _UNICODE,则T 表示W; 如果定义了 _MBCS,则T 表
示A
C const 的缩写

你可能感兴趣的:(C++,windows,乱码,mfc)