VC++ CString 类全面解析:成员函数与示例

5星 · 超过95%的资源 需积分: 14 18 下载量 52 浏览量 更新于2024-10-15 收藏 8KB TXT 举报
本文将详细解释VC++中广泛使用的 CString 类的所有关键成员函数,包括比较、复制、构造、删除等操作,并提供相应的示例代码,帮助读者深入理解其功能和用法。 在Microsoft Visual C++ (VC++) 中,CString 类是ATL(Active Template Library)和MFC(Microsoft Foundation Classes)库中的一个字符串类,它提供了方便的字符串操作功能。以下是对部分主要成员函数的详细说明: 1. Compare(): `int Compare(LPCTSTR lpsz)` 函数用于比较两个 CString 对象或字符串。如果当前对象小于、等于或大于指定字符串,它会返回负数、零或正数。例如: ```cpp CString s1("abc"), s2("abd"); ASSERT(s1.Compare(s2) == -1); // s1 小于 s2 ASSERT(s1.Compare("abe") == -1); // s1 小于 "abe" ``` 2. CompareNoCase(): `int CompareNoCase(LPCTSTR lpsz)` 是不区分大小写的比较,适用于忽略字符大小写的情况。其他行为与 Compare 相同。 3. Collate() 和 CollateNoCase(): 这两个函数与 Compare 和 CompareNoCase 类似,但它们遵循特定区域设置的排序规则。CollateNoCase() 同样不区分大小写。 4. 构造函数: - `CString()`:默认构造函数创建一个空字符串。 - `CString(const CString& stringSrc)`:拷贝构造函数。 - `CString(TCHAR ch, int nRepeat=1)`:创建包含指定字符重复 nRepeat 次的字符串。 - `CString(LPCTSTR lpch, int nLength)`:从字符数组创建字符串。 - `CString(const unsigned char* psz)`:从 ASCII 字符串创建 CString。 - `CString(LPCWSTR lpsz)`:从宽字符字符串创建 CString。 - `CString(LPCSTR lpsz)`:从 ANSI 字符串创建 CString。 5. Delete(): `int Delete(int nIndex, int nCount=1)` 函数用于从字符串中删除一个或多个字符。nIndex 参数指定了第一个要删除的字符的位置,nCount 指定要删除的字符数量。例如: ```cpp CString str1 = "nihao"; str1.Delete(1, 3); // str1 变为 "ni" ``` 6. 赋值和连接操作: ```cpp CString s2("cat"), s3; s3 = s2; // 字符串赋值 s3 = s2 + " " + s3; // 字符串连接 ``` 在上面的例子中,s3 首先被赋值为 s2 的副本,然后通过连接操作添加了 s2 和 s3。 7. 其他常见操作: - Insert():在指定位置插入字符或字符串。 - Mid():获取字符串的一部分。 - Left() 和 Right():分别获取字符串的左侧和右侧指定长度的子串。 - Trim()、TrimLeft() 和 TrimRight():去除字符串前导和尾随的空白字符。 - Format():类似于 C 语言中的 printf,用于格式化字符串。 通过这些成员函数,开发者可以方便地对 CString 对象进行各种操作,包括创建、修改、比较和输出字符串,使得在VC++环境中处理字符串变得非常便捷。理解并熟练使用这些函数对于VC++编程至关重要。