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