道缘·一介布衣

导航

CString类说明(摘录)

来源:百度文库

CString

一、常用成员函数

1.int GetLength) const;

说明:获取CString类对象包含字符串的长度(字符数)。

2.BOOL IsEmpty) const;

说明:测试CString类对象包含的字符串是否为空。

3.void Empty);

说明:使CString类对象包含的字符串为空字符串。

4.TCHAR GetAt( int nIndex ) const;

说明:获得字符串指定位置处的字符。

5.TCHAR operator []( int nIndex ) const;

说明:获得字符串指定位置处的字符,作用和GetAt()一样。

6.void SetAt( int nIndex, TCHAR ch );

说明:设定字符串指定位置处的字符。

7.operator LPCTSTR ) const;

说明:返回指向储存在CString类对象内的字符串指针。

8.Mid

Mid函数有两个重载函数:

CString Mid( int nFirst ) const; throw( CMemoryException );

获取从nFirst位置开始的子串。

CString Mid( int nFirst, int nCount ) const; throw( CMemoryException );

获取从nFirst位置开始包含nCount个字符的子串。

9.CString Left( int nCount ) const;throw( CMemoryException );

说明:获取字符串左边nCount长度的字符串。

10.CString Right( int nCount ) const; throw( CMemoryException );

说明:获取字符串右边nCount长度的字符串。

11.CString SpanIncluding( LPCTSTR lpszCharSet ) const;throw( CMemoryException );

说明:从字符串中提取包含在指定字符集lpszCharSet中的字符的子串。它从字符串的第一个字符开始,直到遇到不属于lpszCharSet中的字符为止。

12.CString SpanExcluding( LPCTSTR lpszCharSet ) const;throw( CMemoryException );

说明:从字符串中提取不包含在指定字符集lpszCharSet中的字符的子串。

13.MakeUpper

将字符串中所有的字符全部转化成大写形式。

14.MakeLower

将字符串中所有的字符全部转化成小写形式。

15.MakeReverse

将字符串倒置,即将字符的顺序颠倒,第一个字符变成最后一个字符。

16.int Replace( TCHAR chOld, TCHAR chNew );

        int Replace( LPCTSTR lpszOld, LPCTSTR lpszNew );

说明:将字符串中的字符chOld或字符子串lpszOld替换成新的字符chNew或字符串lpszNew。

17.   void CString::TrimLeft( TCHAR chTarget );

       void CString::TrimLeft( LPCTSTR lpszTargets );

说明:删除字符串左边开头的字符或字符子串,参数缺省时删除左边的空格。

18.void CString::TrimRight( TCHAR chTarget );

        void CString::TrimRight( LPCTSTR lpszTargets );

说明:删除字符串右边开头的字符或字符子串,参数缺省时删除右边的空格。

19.Find

原型:

int Find( TCHAR ch ) const;

int Find( LPCTSTR lpszSub ) const;

int Find( TCHAR ch, int nStart ) const;

int Find( LPCTSTR pstr, int nStart ) const;

说明:在字符串中查找指定的字符或字符串。参数ch为要查找的字符;lpszSub为要查找的字符子串;nStart指定查找的起始位置,如缺省为从最左边开始;pstr指向欲查找子串的指针。

20.ReverseFind

原型:int ReverseFind( TCHAR ch ) const;

说明:返回字符串中最后一个和指定的字符匹配的字符的下标。

21.FindOneOf

原型:int FindOneOf( LPCTSTR lpszCharSet ) const;

说明:在字符串中查找第一个和指定的字符集lpszCharSet中任何一个字符匹配的字符的位置。

22.比较运算符

CString类重载了“==”、“!=”、“>=”、“>”、“<=”、“<”等比较运算符,可用于两个字符串间的各种比较运算,比较时区分大小写。

23.Compare

原形:int Compare( LPCTSTR lpsz ) const;

说明:比较两个字符串,如果两个字符串相等,返回值等于0;如果本对象大于参数字符串,返回值大于0;如果本对象小于参数字符串,返回值小于0,比较时区分大小写。

24.CompareNoCase

原型:int CompareNoCase( LPCTSTR lpsz ) const;

说明:与Compare函数类似,不同的是在忽略字符大小写的情况下比较两个字符串。

25.operator =

说明:将一个新的值赋予CString对象。

26.operator +

说明:将两个字符串合并成一个新的字符串。在两个参数中必须有一个是CString类型的,而另一个参数可以是字符、字符指针或CString类型对象。

27.operator +=

说明:在一个字符串的后面再添加一个字符串或一个字符。

二、例题

例1:连结字符串

CString m_str1="工作";

CString m_str2="正常";

CString m_str3=m_str1+m_str2;

执行第三行后,m_str3的值应该是“工作正常”。

例2:比较字符串

CString m_str1="a";

CString m_str2="b";

int result=m_str1.Compare(m_str2);

if(result=0)

              AfxMessageBox("两者相同");

else if(result>0)

              AfxMessageBox("m_str1大于m_str2");

else

              AfxMessageBox("m_str1小于m_str2");

运行结果在信息框中显示“m_str1小于m_str2”。两个字符串比较大小时从第一个字母开始,按照对应的ASCII值比较。如果第一个字母相同,再比较下一个字母。依次往下直到比较出大小为止。

例3:提取字符串

CString m_str1="abcde";

CString m_str2=m_str1.Left(1)+m_str1.Mid(2,1)+m_str1.Right(1);

AfxMessageBox(m_str2);

 

运行结果在信息框中显示m_str2的内容“ace”。m_str1.Left(1)得到m_str1的最左边的一个字符“a”,m_str1.Mid(2,1) 从m_str1中取得从索引为2开始的一个字符“c”,m_str1.Right(1) 得到m_str1的最右边的一个字符“e”。

例4:查找字符串

CString m_str1="abcdef";

CString m_str2="deq";

int index=m_str1.Find(m_str2);

if(index>=0)

{

       char s[10];

       wsprintf(s,"匹配字符的下标为%d",index);

       MessageBox(s);

}

else

       MessageBox("没有匹配字符");

运行结果在信息框中显示“没有匹配字符”。m_str1.Find(m_str2)在m_str1中查找m_str2的内容“deq”,由于未找到返回 –1。

例5:变换字符串

       CString m_str="   ABCabc   ";

       m_str.TrimLeft();

       m_str.TrimRight();

       m_str.MakeUpper();

       MessageBox(m_str);

运行结果在信息框中显示“ABCABC”。m_str.TrimLeft()和m_str.TrimRight()分别去掉m_str左边和右边的空格,m_str.MakeUpper()将m_str中的所有字母转换成大写。

例6:转化为字符串

把CString 转化为LPTSTR和LPCTSTR可分别用如下方法

  (LPTSTR)(LPCTSTR)(_T(CString))

 

(LPCTSTR)(_T(CString))

posted on 2011-11-24 13:30  道缘·一介布衣  阅读(250)  评论(0)    收藏  举报