CString用法

本文全面解析了CString类的各种构造函数、大小写转换、字符串连接、比较、提取、查找、替换、删除、格式化等功能,提供了丰富的代码示例,帮助读者深入理解CString的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CString用法

头文件 <afx.h>

成员函数:

  1. CString类的构造函数

    1. CString(const CString& stringSrc);
      解释: 将一个已经存在的CString对象stringSrc的内容拷贝到该CString对象。
      例子: CString str1(_T(jizhuomi)); // 将常量字符串拷贝到str1
      ​ CString str2(str1); // 将str1的内容拷贝到str2

    2. CString(LPCTSTR lpch,int nLength);
      解释: 将字符串lpch中的前nLength个字符拷贝到该CString对象。
      例子: CString str(_T(“wwwjizhuomi”),3); // 构造的字符串对象内容为"www"

    3. CString(TCHAR ch,int nLength = 1);
      解释: 使用此函数构造的CString对象中将含有nLength个重复的ch字符。
      例子: CString str(_T(‘w’),3); // str为"www"

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

    CString& MakeLower(); 将字符串中的所有大写字符转换为小写字符。
    CString& MakeUpper(); 将字符串中的所有小写字符转换为大写字符。
    CString& MakeReverse(); 将字符串中所有字符的顺序颠倒。

    例子:
    CString str(_T(“JiZhuoMi”));
    ​ str.MakeLower(); // str为"jizhuomi"
    ​ str.MakeUpper(); // str为"JIZHUOMI"
    ​ str.MakeReverse(); // str为"IMOUHZIJ"

  3. CString对象的连接
    多个CString对象的连接可以通过重载运算符+、+=实现。
    例子:
    ​ CString str(_T(“jizhuomi”)); // str内容为"jizhuomi"
    ​ str = _T(“www”) + str + _T("-"); // str为"wwwjizhuomi-"
    ​ str += _T(“com”); // str为wwwjizhuomi-com

    注意:
    ​ " +"总是使用在至少有一个 CString 对象 和一个 LPCSTR 的场合。
    ​ 即可以
    ​ CString graycat = CString(“Gray”) + CString(“Cat”);
    ​ 或者这样:
    ​ CString graycat = CString(“Gray”) + “Cat”;
    ​ 但不能
    ​ CString graycat = “Gray” + “Cat”;
    ​ 或者这样:
    ​ CString graycat(“Gray” + “Cat”);

  4. CString对象的比较

    CString对象的比较可以通过==、!=、<;、>;、<=、>=等重载运算符实现,也可以使用Compare和CompareNoCase成员函数实现。

    Compare(): 如果相等则返回0,如果小于则返回值小于0,如果大于则返回值大于0

    CompareNoCase(): 同上,但不区分大小写

  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对象。

    例如:
    ​ CString str1 = _T(“jizhuomi”);
    ​ CString str2 = str1.Left⑶; // str2为"jiz"
    ​ str2 = str1.Right⑵; // str2为"mi"`
    ​ str2 = str1.Mid(1,3); // str2为"izh"
    ​ str2 = str1.Mid⑸; // str2为"omi"

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

    Find、ReverseFind、FindOneOf 三个函数可以实现字符串的查找操作

    Find 从指定位置开始查找指定的字符或者字符串,返回其位置,找不到返回 -1;
    举例:
    CString str(_T(“abcdefg”));
    int idx = str.Find(_T(“cde”), 0); //idx 的值为2;

    ReverseFind 从字符串末尾开始查找指定的字符,返回其位置,找不到返回 -1,虽然是从后向 前查找,但是位置为从开始算起;
    CString str(_T(“abcdefg”));
    int idx = str.ReverseFind(‘e’); //idx 的值为4;

    FindOneOf 查找参数中给定字符串中的任意字符,返回第一次出现的位置,找不到返回 -1;
    CString str(_T(“abcabcd”));
    int idx = str.FindOneOf(_T(“cbd”)); //idx 的值为1;

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

    Replace 替换 CString 对象中的指定的字符或者字符串,返回替换的个数,无匹配字符返回 0;
    CString str(_T(“abcdabc”));
    int num = str.Replace(‘b’, ‘k’); //str == akcdakc, num == 2
    CString str(_T(“abcdabc”));
    int num = str.Replace(_T(“bc”), _T(“kw”)); //str == akwdakw, num == 2

    Remove 删除 CString 对象中的指定字符,返回删除字符的个数,有多个时都会删除;
    CString str(_T(“abcdabcb”));
    int num = str.Remove(‘b’); //str == acdac, num == 3

    Delete 删除 CString 对象中的指定位置的字符,返回处理后的字符串长度;
    CString str(_T(“abcd”));
    int num = str.Delete(1, 3); //str == a, num == 1

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

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

    例子: Cstring str;
    ​ int a= 1;
    ​ float b = 2.3f;
    ​ str.Format(_T(“a=%d,b=%f”),a,b); //str为"a=1,b=2.300000"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值