先定义几个以后会用到的变量:CString str1, str2, str3;
概括说明:
MFC对CString类的封装可能的确不如std::string完善,但是也的确不错,功能也足够强大,使用上还很体贴。其基本特征为:
☆CString类没有基类。
☆CString类和LPCTSTR的关系:MSDN上说“CString objects follow "value semantics." Think of a CString object as an actual string, not as a pointer to a string.”也就是说用的时候除了考虑使用它的成员函数的方式,就把它当作普通的c-style字符串来使用就行了。你可以在构造函数中使用LPCTSTR:
CString str("Hello World!");
可以:
str1 = str2; 或者 str1 = “Hello”;
也可以:
str3 = str1 + str2; 或者 str3 = str1 + “Hello”;
当然也可以:
str1 += str2; 或者 str1 += “Hello”;
实际上下列的这些操作符都可以用在CString对象之间或者CString和LPCTSTR对象之间:
==、!=、<、>、<=、>=
自然,将CString对象强制转换到LPCTSTR类型也就应该在情理之中:
LPCTSTR string = (LPCTSTR) str1;
☆CString支持UNICODE和多字节字符