CString类型常用函数(mfcc++)

CString类型常用函数(mfcc++)

2023年7月18日发(作者:)

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个字符的子串。

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

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

const;throw 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_e(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_(1)+m_(2,1)+m_(1);

AfxMessageBox(m_str2);

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

例4:查找字符串

CString m_str1="abcdef";

CString m_str2="deq";

int index=m_(m_str2);

if(index>=0)

{

char s[10];

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

MessageBox(s);

}

else

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

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

例5:变换字符串

CString m_str=" ABCabc ";

m_ft();

m_ght();

m_per();

MessageBox(m_str);

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

例6:转化为字符串 把CString 转化为LPTSTR和LPCTSTR可分别用如下方法

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

(LPCTSTR)(_T(CString))

发布者:admin,转转请注明出处:http://www.yc00.com/web/1689609721a270338.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信