当前位置: 代码迷 >> 综合 >> MFC CString
  详细解决方案

MFC CString

热度:21   发布时间:2023-10-31 06:05:57.0

大小写,顺序,连接,比较,提取,查找,替换,删除,格式化,分割

1.构造函数:

CString(const CString& stringSrc);

将一个已经存在的CString对象stringSrc的内容拷贝到该CString对象,例如:

CString str1(_T("www.jizhuomi.com"));  // 将常量字符串拷贝到str1      

CString str2(str1);       // 将str1的内容拷贝到str2  

CString(LPCTSTR lpch, int nLength);

将字符串lpch中的前nLength个字符拷贝到该CString对象。例如:

CString str(_T("www.jizhuomi.com"),3); // 构造的字符串对象内容为"www"  

CString(TCHAR ch, int nLength = 1);

使用此函数构造的CString对象中将含有nLength个重复的ch字符。例如:

CString str(_T('w'),3);  // str为"www"  

2.CString类的大小写转换及顺序转换函数

CString& MakeLower();

将字符串中的所有大写字符转换为小写字符。

CString& MakeUpper();

将字符串中的所有小写字符转换为大写字符。

CString& MakeReverse();

将字符串中所有字符的顺序颠倒。

3. CString对象的连接

多个CString对象的连接可以通过重载运算符+、+=实现

4. CString对象的比较

可以通过==、!=、、=等重载运算符实现

可以使用Compare和CompareNoCase成员函数实现。

int Compare(PCXSTR psz) const;

将该CString对象与psz字符串比较,如果相等则返回0,如果小于psz则返回值小于0,如果大于psz则返回值大于0。

int CompareNoCase(PCXSTR psz) const throw();

此函数与Compare功能类似,只是不区分大小写。

5. CString对象字符串的提取操作

CString Left(int nCount) const;

提取该字符串左边nCount个字符的子字符串,并返回一个包含这个子字符串的拷贝的CString对象。

CString Right(int nCount) const;

提取该字符串右边nCount个字符的子字符串,并返回一个包含这个子字符串的拷贝的CString对象。

CString Mid(int iFirst,int nCount) const;

提取该字符串中以索引iFirst位置开始的nCount个字符组成的子字符串,并返回一个包含这个子字符串的拷贝的CString对象。

CString Mid(int iFirst) const;

提取该字符串中以索引iFirst位置开始直至字符串结尾的子字符串,并返回一个包含这个子字符串的拷贝的CString对象。

6. CString对象字符串的查找操作

int Find(PCXSTR pszSub,int iStart=0) const throw( );       int Find(XCHAR ch,int iStart=0) const throw( );

在CString对象字符串的iStart索引位置开始,查找子字符串pszSub或字符ch第一次出现的位置,如果没有找到则返回-1。

int FindOneOf(PCXSTR pszCharSet) const throw( );

查找pszCharSet字符串中的任意字符,返回第一次出现的位置,找不到则返回-1。

int ReverseFind(XCHAR ch) const throw();

从字符串末尾开始查找指定的字符ch,返回其位置,找不到则返回-1。这里要注意,尽管是从后向前查找,但是位置的索引还是要从开始算起。

7. CString类对象字符串的替换与删除

int Replace(PCXSTR pszOld,PCXSTR pszNew);

用字符串pszNew替换CString对象中的子字符串pszOld,返回替换的字符个数。

int Replace(XCHAR chOld,XCHAR chNew);

用字符chNew替换CString对象中的字符chOld,返回替换的字符个数。

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

从字符串中删除iIndex位置开始的nCount个字符,返回删除操作后的字符串的长度。

int Remove(XCHAR chRemove);

删除字符串中的所有由chRemove指定的字符,返回删除的字符个数。

8. CString类的格式化字符串方法

使用CString类的Format成员函数可以将int、short、long、float、double等数据类型格式化为字符串对象。

void __cdecl Format(PCXSTR pszFormat,[, argument]...);

参数pszFormat为格式控制字符串;参数argument可选,为要格式化的数据,一般每个argument在pszFormat中都有对应的表示其类型的子字符串,int型的argument对应的应该是"%d",float型的应对应"%f",等等。

9.CString类对象字符串的分割

Tokenize()

_tcstok()

  相关解决方案