CString常用方法简介

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::CompareNoCase

int CompareNoCase( LPCTSTR lpsz ) const;

返回值  字符串一样 返回0

        小于lpsz  返回-1

        大于lpsz  返回1

        不区分大小字符

 

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 ); 

CString( LPCTSTR lpch, int nLength );

CString( const unsigned char* psz ); 

CString( LPCWSTR lpsz );

CString( LPCSTR lpsz );

例子最容易说明问题

CString s1;                      

CString s2( "cat" );              

CString s3 = s2;                  

CString s4( s2 + " " + s3 );         

CString s5( 'x' );                      // s5 = "x"

CString s6( 'x', 6 );                   // s6 = "xxxxxx"

CString s7((LPCSTR)ID_FILE_NEW);        // s7 = "Create a new document"

CString city = "Philadelphia";

 

CString::Delete

int Delete( int nIndex, int nCount = 1); 

返回值是被删除前的字符串的长度

nIndex是第一个被删除的字符,nCount是一次删除几个字符。根据我实验得出的结果:当nCount>要删除字符串的最大长度(GetCount() -nIndex)时会出错,当nCount过大,没有足够的字符删除时,此函数不执行。

例子

CString str1,str2,str3;

char a;

str1 = "nihao";

str2 = "nIhao";

int x;

// int i=(str1 == str2);      

str1.Delete(2,3);

如果nCount(3) > GetCount() – nIndex (5-2)就会执行错误

 

CString::Empty

Void Empty( );

没有返回值  清空操作;

例子

CString s( "abc" );

s.Empty();

ASSERT( s.GetLength( ) == 0 );

 

CString::Find

int Find( TCHAR ch ) const;

int Find( LPCTSTR lpszSub ) const;

int Find( TCHAR ch, int nStart ) const;

int Find( LPCTSTR lpszSub, int nStart ) const;

返回值  不匹配的话返回 -1;  索引以0 开始

        nStar 代表以索引值nStart 的字符开始搜索 ,

即为包含以索引nStart字符后的字符串

例子

CString s( "abcdef" );

ASSERT( s.Find( 'c' ) == 2 );

ASSERT( s.Find( "de" ) == 3 );

Cstring str(“The stars are aligned”);

Ing n = str.Find('e',5);

ASSERT(n == 12)

 

CString::FindOneOf

int FindOneOf( LPCTSTR lpszCharSet ) const;

返回值  不匹配的话返回 -1;  索引以0 开始

          注意::返回此字符串中第一个在lpszCharSet中 也包括字符并且从零开始的索引值

例子

CString s( "abcdef" );

ASSERT( s.FindOneOf( "xd" ) == 3 ); // 'd' is first match.

 

CString::Format

void Format( LPCTSTR lpszFormat, ... );

void Format( UINT nFormatID, ... );

lpszFormat  一个格式控制字符串

nFormatID  字符串标识符

例子

             CString str;

Str.Format(“%d”,13); 

此时Str为13

posted @ 2019-02-28 15:11  傍风无意  阅读(293)  评论(0)    收藏  举报