各种字符串:
char 单字节字符
wchar_t 双字节字符
WCHAR 双字节字符
TCHAR 根据预编译选项生成但字节字符或者双字节字符
OLECHAR 早先可以根据预编译选项生成单或双字节字符,但是现在(mfc3之后),可以看成是WCHAR
BSTR typedef OLECHAR* BSTR;关于bstr的使用说明:用于com,进程间传输指针
VARIANT 用在自动化接口中。用来在无类型语言(如Jscript和VBScript)中传递数据。
一个VARIANT可能含有很多不同类型的数据,例如long和IDispatch*。
当一个VARIANT包含一个字符串的时候,字符串被存成一个BSTR。
char 单字节字符
wchar_t 双字节字符
WCHAR 双字节字符
TCHAR 根据预编译选项生成但字节字符或者双字节字符
OLECHAR 早先可以根据预编译选项生成单或双字节字符,但是现在(mfc3之后),可以看成是WCHAR
BSTR typedef OLECHAR* BSTR;关于bstr的使用说明:用于com,进程间传输指针
VARIANT 用在自动化接口中。用来在无类型语言(如Jscript和VBScript)中传递数据。
一个VARIANT可能含有很多不同类型的数据,例如long和IDispatch*。
当一个VARIANT包含一个字符串的时候,字符串被存成一个BSTR。
各种字符串指针:
char *
wchar_t *
WCHAR *
TCHAR *
LPSTR
LPCSTR
LPWSTR
LPCWSTR
LPTSTR
LPCTSTR
LPOLESTR
LPCOLESTR
微软有毛病,定义这么多,不过还是很有规律的,就是 LP----const?-----type?----STR
char *
wchar_t *
WCHAR *
TCHAR *
LPSTR
LPCSTR
LPWSTR
LPCWSTR
LPTSTR
LPCTSTR
LPOLESTR
LPCOLESTR
微软有毛病,定义这么多,不过还是很有规律的,就是 LP----const?-----type?----STR
各种字符串的封装类:
STL:
basic_string
string
wstring
MFC:
CString
COM:
CRT提供的类
_bstr_t 对BSTR的完整封装类
_variant_t 对VARIANT的完整封装
ATL:
CComBSTR ATL 中的BSTR 封装类
CComVariant ATL 中的VARIANT的封装类
COleVariant
WTL 类
CString WTL的CString的行为和MFC的 CString完全一样。
CLR 和 VC 7 类
System::String 是用来处理字符串的.NET类。我还没看.net,所以不懂这个
STL:
basic_string
string
wstring
MFC:
CString
COM:
CRT提供的类
_bstr_t 对BSTR的完整封装类
_variant_t 对VARIANT的完整封装
ATL:
CComBSTR ATL 中的BSTR 封装类
CComVariant ATL 中的VARIANT的封装类
COleVariant
WTL 类
CString WTL的CString的行为和MFC的 CString完全一样。
CLR 和 VC 7 类
System::String 是用来处理字符串的.NET类。我还没看.net,所以不懂这个