C++字符串类型完全指南
作者:淡月清风 日期:2009-06-20
C++中的字符串种类繁多, 下面是VC++中可以直接使用的各种字符串。
1.基本字符串类型
char*(包括:CHAR*,TCHAR*,LPSTR, LPCSTR, LPTSTR, LPCTSTR)
wchar_t*(包括:WCHAR*,TCHAR*,LPWSTR,LPCWSTR,LPTSTR,LPCTSTR,LPOLESTR, LPCOLESTR)
BSTR
VARIANT
关于BSTR,在WTypes.h 中有一个BSTR的定义:
typedef wchar_t WCHAR;
typedef WCHAR OLECHAR;
typedef /* [wire_marshal] */ OLECHAR *BSTR;
但是BSTR却不等同于OLECHAR*,这一点比较奇怪。所有对BSTR的操作都必须用专用函数(Sys*系列)进行,OLECHAR*其实就是wchar_t*。在调试器中观察发现,OLECHAR*型变量的地址就是首字符,BSTR型变量的首地址也是第一个字符,但是BSTR型变量前边还有4个字节来表示字符串长度。这说明如果仅用作读取,const OLECHAR*和BSTR是可以互换的。
2.C++中的各种字符串类
string
wstring
CString(包括CStringT, CStringA, CStringW,以及类似的CHString)
_bstr_t
CComBSTR
_variant_t
CComVariant
COleVariant
3.网上的C++字符串相关文章
C++字符串完全指引之一 —— Win32 字符编码
The Complete Guide to C++ Strings, Part I - Win32 Character Encodings
http://www.vckbase.com/document/viewdoc/?id=1096
http://www.vckbase.com/document/viewdoc/?id=1096
C++字符串完全指引之二 —— 字符串封装类
http://www.codeproject.com/KB/string/cppstringguide2.aspx
The Complete Guide to C++ Strings, Part II - String Wrapper Classes
http://blog.csdn.net/itmail/archive/2007/08/23/1756122.aspx
http://www.codeproject.com/KB/string/cppstringguide2.aspx
The Complete Guide to C++ Strings, Part II - String Wrapper Classes
http://blog.csdn.net/itmail/archive/2007/08/23/1756122.aspx
VC++ Windows平台字符透明编程大总结
4.总结
要转换各种字符串,最简单的思路是:先转换为C Style字符串,再调用字符串类的构造函数。
评论: 0 | 引用: 0 | 查看次数: 814
发表评论
你没有权限发表评论!
上一篇
下一篇


文章来自:
Tags:
相关日志:





