string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中.wstring是操作宽字符串的类.C++标准程序库对于string的设计思维就是让他的行为尽可能像基本类型,不会在操作上引起什么麻烦。 CString是对string(字符串)和wstring(宽字符串)的一个封装,常用在mfc中.用来
(2)string类既是一个标准c++的类库,同时也是STL(Standard Template Library,标准模版库)中的类库,所以支持Iterator操作。 (3)CString类和string类提供的方法接口并不完全相同,所以不要糊里糊涂的认为某个类中怎么没有另外一个类中的方法啊。:-)。。 (4)他们和char*之间的转黄方法也不一样。string类型的变量如果...
string &assign(const string &s,int start,int n);//把字符串s中从start开始的n个字符赋给当前字符串 string &assign(const_iterator first,const_itertor last);//把first和last迭代器之间的部分赋给字符串 string的连接: string &operator+=(const string &s);//把字符串s连接到当前字符串的结尾 string...
If you use the pointer returned byGetBufferto change the string contents, you must callReleaseBufferbefore using any otherCStringmember functions. 二.函数作用及使用范围 对一个CString变量,你可以使用的唯一合法转换符是LPCTSTR,直接转换成非常量指针(LPTSTR-[const] char*)是错误的。正确的得到一个指向缓冲区...
CString::GetAt TCHAR GetAt( int nIndex ) const; 返回标号为nIndex的字符,你可以把字符串理解为一个数组,GetAt类似于[].注意nIndex的范围,如果不合适会有调试错误。 CString::GetBuffer LPTSTR GetBuffer( int nMinBufLength ); 返回值 一个指向对象的(以空字符结尾的)字符缓冲区的LPTSTR 指针。
ReleaseBuffer 释放对GetBuffer所返回的缓冲区的控制权 FreeExtra 通过释放原先为此字符串分配的额外内存来删除此字符串对象的额外开销 LockBuffer 使引用计数无效并保护缓冲区内的数据 UnlockBuffer 使引用计数有效并释放缓冲区中的数据 Windows专用 AllocSysString 由CString数据分配一个BSTR SetSysString 使用CString对象中的...
CString 转化成 char* 之二:使用CString对象的GetBuffer方法 CString 转化成 char* 之三: 和控件的接口 CString 型转化成 BSTR 型; BSTR 型转化成 CString 型; VARIANT 型转化成 CString 型; 载入字符串表资源; CString 和临时对象; CString 的效率; ...
CString::GetAt TCHAR GetAt( int nIndex ) const; 返回标号为nIndex的字符,你可以把字符串理解为一个数组,GetAt类似于[].注意nIndex的范围,如果不合适会有调试错误。 CString::GetBuffer LPTSTR GetBuffer( int nMinBufLength ); 返回值 一个指向对象的(以空字符结尾的)字符缓冲区的LPTSTR 指针。
2> GetBuffer: 比起GetString或者operator PCXSTR,GetBuffer函数就有趣多了。 这里我们注意到,返回的是PXSTR而不是PXCSTR,也就是说,GetBuffer返回的字符串,是不带const属性的,我们可以进行写操作——那么,为了不影响其他共享的字符串,这里触发了CopyOnWrite机制!——当然,如果pData->IsShared返回FALSE的话,说明没有共...
If you use the pointer returned byGetBufferto change the string contents, you must callReleaseBufferbefore using any otherCStringmember functions. 二.函数作用及使用范围 对一个CString变量,你可以使用的唯一合法转换符是LPCTSTR,直接转换成非常量指针(LPTSTR-[const] char*)是错误的。正确的得到一个指向缓冲区...