• MFC中CString类都有哪些成员函数,分别什么作用,如何使用它们?


    参考地址:https://learn.microsoft.com/zh-cn/cpp/atl-mfc-shared/reference/cstringt-class?view=msvc-170

    CString 类在 MFC(Microsoft Foundation Classes)中提供了丰富的成员函数来操作和处理字符串。以下是一些主要的 CString 成员函数及其描述和用法示例:

    构造函数和赋值

    • CString():默认构造函数,创建一个空的 CString 对象。
    • CString(const CString& stringSrc):拷贝构造函数,通过另一个 CString 对象初始化。
    • CString(LPCTSTR lpsz):通过 C 风格的字符串初始化。
    • CString& operator=(const CString& stringSrc):赋值操作符,将一个 CString 对象赋值给另一个。

    长度和容量

    • int GetLength() const:返回字符串的长度(不包括终止字符)。
    • BOOL IsEmpty() const:检查字符串是否为空。
    • void SetLength(int nNewLength):设置字符串的长度。
    • void Empty():清空字符串。

    访问元素

    • TCHAR GetAt(int i) const:返回指定位置的字符。
    • void SetAt(int i, TCHAR ch):设置指定位置的字符。

    比较

    • int Compare(const CString& string) const:比较两个 CString 对象。
    • int CompareNoCase(const CString& string) const:不区分大小写地比较两个 CString 对象。
    • int Collate(const CString& string) const:使用区域设置信息比较两个 CString 对象。

    连接和追加

    • CString& operator+=(const CString& string):将一个 CString 追加到当前字符串。
    • CString& Append(const CString& string):追加一个 CString 到当前字符串。
    • CString& AppendFormat(LPCTSTR format, ...):使用格式化字符串追加内容。

    查找

    • int Find(TCHAR ch, int start = 0) const:查找指定字符在字符串中的位置。
    • int Find(const CString& substring, int start = 0) const:查找子串在字符串中的位置。
    • int ReverseFind(TCHAR ch) const:从字符串末尾开始查找指定字符。

    替换

    • int Replace(TCHAR oldChar, TCHAR newChar):替换字符串中的所有指定字符。
    • int Replace(const CString& oldSubstring, const CString& newSubstring):替换字符串中的所有指定子串。

    转换

    • LPCTSTR GetBuffer(int nMinBufLength = -1):获取指向字符串内部缓冲区的指针。
    • void ReleaseBuffer(int nNewLength = -1):释放通过 GetBuffer 获取的缓冲区。
    • BSTR AllocSysString():将 CString 转换为 BSTR(用于 COM 编程)。

    格式化

    • void Format(LPCTSTR formatString, ...):格式化字符串,类似于 C 标准库中的 sprintf

    其他

    • BOOL LoadString(UINT nID):从应用程序的资源文件中加载字符串。
    • void MakeUpper()void MakeLower():将字符串转换为大写或小写。
    • void TrimLeft(TCHAR chTarget = _T(' '))void TrimRight(TCHAR chTarget = _T(' ')):去除字符串左侧或右侧的指定字符(默认为空格)。
    • void Trim():去除字符串两侧的指定字符(默认为空格)。

    使用示例

    以下是一些 CString 成员函数的使用示例:

    CString str(_T("Hello World"));
    
    // 获取字符串长度
    int length = str.GetLength();
    
    // 比较字符串
    if (str.Compare(_T("Hello World")) == 0) {
        // 字符串相同
    }
    
    // 追加字符串
    str.Append(_T("!"));
    
    // 查找子串位置
    int pos = str.Find(_T("World"));
    
    // 替换子串
    str.Replace(_T("World"), _T("MFC"));
    
    // 格式化字符串
    int num = 123;
    str.Format(_T("Number: %d"), num);
    
    // 转换为大写
    str.MakeUpper();
    
    // 去除字符串两侧的空格
    str.Trim();
    
    // 从资源文件中加载字符串(假设有一个ID为123的资源字符串)
    if (str.LoadString(123)) 
    {
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
  • 相关阅读:
    9.力扣c++刷题-->跳跃游戏
    【docker下安装jenkins】(一)
    【C++】继承 ⑪ ( 多继承 | 多继承语法 | 多继承案例 )
    Java 基础之线程
    Java工程师常见面试题集锦
    【数据结构】3000字剖析链表及双向链表
    R语言探索 BRFSS 数据和预测
    vue中的mixin混入
    SQL审核 | 如何利用 OpenAPI 实现自己的扫描任务
    idea基础配置笔记
  • 原文地址:https://blog.csdn.net/y601500359/article/details/136743312