直接修改 CString 内容 在大部分情况下,你应该使用 CString 成员函数修改 CString 对象的内容或将 CString 转换为 C 样式字符串。 某些情况下,直接修改 CString 内容很有意义,例如,在你使用需要字符缓冲区的操作系统函数时。 GetBuffer 和ReleaseBuffer 方法提供对 CString 对象的内部字符缓冲区的访问权限,并使你可以直...
// CString::GetBuffer 例子 CString s( "abcd" ); #ifdef _DEBUG afxDump << "CString s " << s << "\n"; #endif LPTSTR p = s.GetBuffer( 10 ); strcpy( p, "Hello" ); // 直接访问CString 对象。 s.ReleaseBuffer( ); #ifdef _DEBUG afxDump << "CString s " << s << "\n"; ...
8.CString::ReleaseBuffer void ReleaseBuffer( int nNewLength = -1 ); 参数:nNewLength 此字符串的以字符数表示的新长度,不计算结尾的空字符。如果这个字 符串是以空字符结尾的,则参数的缺省值-1 将把CString 的大小设置为 字符串的当前长度。 说明: 使用ReleaseBuffer 来结束对由GetBuffer 分配的缓冲区的使用。
1、CString用作C字符串常量。 直接使用强制类型转换即可, 如: CString strSports(_T("Hockey is Best!")); TCHAR sz[1024]; lstrcpy(sz, strSports); 2、用作可修改字符串。要用传递字符指针的函数修改CString。 方法:使用成员GetBuffer和ReleaseBuffer函数。 如: CString s("abcd" ); LPTSTR p = s.GetBu...
CString::Compare int Compare( LPCTSTR lpsz ) const; 返回值 字符串一样 返回0 小于lpsz 返回-1 大于lpsz 返回1 区分大小字符 CString s1( "abc" ); CString s2( "abd" ); ASSERT( s1.Compare( s2 ) == -1 ); ASSERT( s1.Compare( "abe" ) == -1 ); ...
CString s1( "abc" ); CString s2( "abd" ); ASSERT( s1.Compare( s2 ) == -1 ); ASSERT( s1.Compare( "abe" ) == -1 ); CString::CompareNoCase int CompareNoCase( LPCTSTR lpsz ) const; 返回值 字符串一样 返回0 小于lpsz 返回-1 ...
GetBuffer によって返されたポインターを使用して、CString オブジェクトに直接文字を書き込みます。 ReleaseBuffer オブジェクトの CString を呼び出して、文字列の長さなどのすべての内部的な CString 状態情報を更新します。 CString オブジェクトの内容を直接変更した後、先に ReleaseBuffer...
CString::Collate int Collate( LPCTSTR lpsz ) const; 同CString::Compare CString::CollateNoCase int CollateNocase( LPCTSTR lpsz ) const; 同CString::CompareNoCase CString::CString CString( ); CString( const CString& stringSrc ); CString( TCHAR ch, int nRepeat = 1 ); ...
8.CString::ReleaseBuffervoid ReleaseBuffer( int nNewLength = -1 );参数:nNewLength此字符串的以字符数表示的新长度,不计算结尾的空字符。如果这个字符串是以空字符结尾的,则参数的缺省值-1 将把CString 的大小设置为字符串的当前长度。说明:使用ReleaseBuffer 来结束对由GetBuffer 分配的缓冲区的使用。如果你...
LPTSTR GetBufferSetLength( int nNewLength );使用返回的指针可以直接修改CString对象的内容,不过有两点要注意,一是如果指定长度比原CString长度短(截断)请记得在后面补’\0’,二是在调用CString对象的任何其它成员函数前请一定记得ReleaseBuffer,也许不用似乎并没有出错,但是说不定就是大隐患的根源。