Windows字符集:
1.多字符集MBCS(基于ANSI)
2.Unicode字符集
转换:
L“字符串” 将多字符集的“字符串”转换为unicode字符集
_T("字符串") 将“字符串”转换为能兼容两种环境的字符串
环境:
Windows NT所有API兼容两种字符集(NT 3.x, NT 4.0, 2000, XP, Vista, Server 2003,7,10)。
Windows 9x(95,98&98SE,ME)仅支持ANSI。
指针:
unicode下:
LPSTR:(32bit指针)指向一个字符串,每个字符占1字节
LPCSTR:(32bit指针)指向一个长字符串,每个字符占1字节
LPCTSTR:(32bit指针)指向一个长字符串,每字符可能占1字节或2字节,取决于Unicode是否定义
LPTSTR:(32bit指针)每字符可能占1字节或2字节,取决于Unicode是否定义
注意:
处理LPTSTR或者LPCTSTR 的时候,不要用strlen ,而是要用_tcslen 否则在UNICODE的编译条件下,strlen不能处理 wchar_t*的字符串。
COM组件:
AllocSysString:将CString转化为BSTR(一种在COM中定义的c++环境的通用字符串)