相关类型转换:(强制转换会出现乱码)
wchar_t ‐> char : wcstombs();
或 WideCharToMultiByte(); //windows
char ‐> wchar_t : mbstowcs();
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 的缩写
wchar_t ‐> char : wcstombs();
或 WideCharToMultiByte(); //windows
char ‐> wchar_t : mbstowcs();
或 MultiByteToWideChar(); //windows
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 的缩写