CString函数详解与示例

需积分: 0 2 下载量 83 浏览量 更新于2024-09-17 1 收藏 18KB DOCX 举报
"此文档详细介绍了 CString 类的各种构造函数和常用方法,包括字符串的初始化、长度获取、反转、大小写转换以及字符串比较等操作。" 在Windows编程中,`CString` 是一个非常重要的类,它提供了对字符串处理的强大支持。这个类是ATL(Microsoft Active Template Library)和MFC(Microsoft Foundation Classes)库的一部分,提供了比C++标准库中的`std::string`更丰富的功能,尤其是在与Windows API交互时。 1. **构造函数**: - `CString()`:无参构造函数,创建一个空字符串。 - `CString(const CString& stringSrc)`:拷贝构造函数,用于复制另一个`CString`对象。 - `CString(TCHAR ch, int nRepeat = 1)`:创建一个由指定字符重复nRepeat次组成的字符串。 - `CString(LPCTSTR lpch, int nLength)`:从指定的字符数组创建字符串,长度为nLength。 - `CString(LPCWSTR lpsz)`:从宽字符数组创建字符串。 - `CString(const unsigned char* psz)`:从无符号字符数组创建字符串。 - `CString(LPCSTR lpsz)`:从ASCII字符数组创建字符串。 2. **成员函数**: - `int GetLength() const`:返回字符串的长度,不包括结束的空字符。例如,字符串"ABCDEF中文123456"的长度是16。 - `void MakeReverse()`:将字符串中的字符顺序反转。如:"ABCDEF中文123456"反转后变为"654321文中FEDCBA"。 - `void MakeUpper()`:将字符串中的所有小写字母转换为大写。例如,"abcdef中文123456"转换后变为"ABCDEF中文123456"。 - `void MakeLower()`:将字符串中的所有大写字母转换为小写。例如,"ABCDEF中文123456"转换后变为"abcdef中文123456"。 - `int Compare(LPCTSTR lpsz) const`:进行区分大小写的字符串比较,如果当前字符串等于lpsz,则返回0;如果当前字符串小于lpsz,返回负数;如果当前字符串大于lpsz,返回正数。这个函数可用于排序和查找操作。 除了这些基本操作外,`CString`还提供了其他功能,如连接字符串(`+`运算符或`Append`函数),插入和删除字符,查找子串,格式化字符串(`Format`函数),以及转换为其他数据类型等。`CString`的灵活性和便利性使得它在Windows编程中被广泛使用。