visual c ++中有多少种类型的字符串类。当我经历msdn中心时,我感到很困惑。
我在命名空间系统下找到了这种类型 http://msdn.microsoft.com/en-us/library/system.string(v=VS.71).aspx
然后在标题部分,我找到了字符串标题定义。这似乎与上述不同。有一件事我注意到,这一个属于STL。 (请参阅链接的评论,我不能在同一篇文章中发布两个链接)
通常使用哪一个?我发现很难找到不同的字符串类
提前致谢:)
答案 0 :(得分:6)
不同的库带有不同的字符串类型:
在普通的旧C中,您将使用char*
,C ++标准库提供std::string
,它在C ++开发中被广泛使用。 (字符串定义为typedef basic_string<char> string;
)
Microsoft创建了MFC CString
类,它在MFC样式编程中使用(是?),Qt在Qt程序中使用QString
。您在System.String
中提到的是.net字符串类,它只能在托管代码中使用(带.net)。
如果您是C ++的新手,我建议坚持使用std::string
(#include <string>
)。它是标准和平台无关的。
答案 1 :(得分:3)
Microsoft代码中常用的字符串类型是char *,wchar_t *,LPSTR,LPTSTR,LPWSTR,LPCSTR,LPCTSTR,LPCWSTR,BSTR,OLESTR,UNICODE_STRING,String,string,wstring,_bstr_t,CString
最后5个是课程。根据您需要使用的API,您可以选择最少转换头痛的那个:
使用其他API时,您可能会遇到其他字符串类型。