VC++编程:深度解析CString成员函数
需积分: 9 40 浏览量
更新于2024-09-12
收藏 42KB DOC 举报
"VC++中CString类的成员函数详解"
在VC++中,`CString`是一个非常实用的类,它提供了对字符串操作的便捷接口。这个类是Microsoft Foundation Class (MFC) 库的一部分,其设计目的是为了方便地处理字符串,并且在性能上优于标准的C++ `std::string`。以下将详细介绍`CString`类的一些主要成员函数。
1. 构造函数:
- `CString()`: 默认构造函数,创建一个空字符串。
- `CString(const CString& stringSrc)`: 拷贝构造函数,用于复制已存在的`CString`对象。
- `CString(TCHAR ch, int nRepeat=1)`: 创建一个由单一字符重复指定次数构成的字符串。
- `CString(LPCTSTR lpch, int nLength)`: 从指定的宽字符或窄字符指针创建字符串,长度由`nLength`决定。
- `CString(const unsigned char* psz)`: 从无符号字节字符串创建`CString`对象。
- `CString(LPCWSTR lpsz)`: 从宽字符字符串创建`CString`对象。
- `CString(LPCSTR lpsz)`: 从窄字符字符串创建`CString`对象。
2. 字符串比较:
- `int Compare(LPCTSTR lpsz) const`: 对字符串进行区分大小写的比较,返回值表示字符串的相对顺序。
- `int CompareNoCase(LPCTSTR lpsz) const`: 不区分大小写的字符串比较,同样返回相对顺序。
- `int Collate(LPCTSTR lpsz) const`: 区分大小写的排序比较,遵循本地排序规则。
- `int CollateNoCase(LPCTSTR lpsz) const`: 不区分大小写的排序比较,遵循本地排序规则。
3. 删除字符:
- `int Delete(int nIndex, int nCount=1)`: 从指定位置`nIndex`开始删除`nCount`个字符,并返回删除前的字符串长度。如果`nCount`超过待删除字符串的实际长度,实际删除到字符串末尾。
4. 其他常用成员函数:
- `Append`: 追加字符串。
- `Format`: 类似于`printf`的功能,格式化字符串。
- `Left`, `Right`, `Mid`: 分别获取字符串的左侧、右侧和中间部分。
- `Insert`: 在指定位置插入字符或字符串。
- `Find`, `FindOneOf`, `ReverseFind`: 查找子字符串的位置。
- `IsEmpty`, `Length`: 检查字符串是否为空以及获取字符串长度。
- `Trim`, `TrimLeft`, `TrimRight`: 去除字符串两侧或单侧的空白字符。
这些函数使得`CString`类在处理字符串时非常灵活,同时保持了良好的性能。在开发Windows应用程序时,`CString`是处理字符串的首选工具,尤其是在MFC框架下。通过熟练掌握这些成员函数,开发者可以高效地完成各种字符串操作。
451 浏览量
760 浏览量
156 浏览量
124 浏览量
2021-10-20 上传
134 浏览量
131 浏览量
1001 浏览量
2010-11-01 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
gxtheone
- 粉丝: 0
最新资源
- BosonNetSim CCNP教程:入门与界面详解
- uC/OS-II操作系统实战:邵贝贝版电子书解析
- Inno Setup安装程序制作指南
- C#实用代码:高效读取Excel数据到DataSet
- JavaScript 弹窗技术大全:全屏、F11、固定尺寸与对话框示例
- VC++数据库开发:数据展示与操作详解
- Spring.NET 1.12 官方文档:Inversion of Control 和 IoC 容器详解
- LL(1)分析法:从输入'i+i*i$'到语法树的逐步解析
- Rational ClearCase LT入门与系统架构详解
- Rational ClearQuest:缺陷跟踪与管理指南
- 深入解析JavaScript浏览器对象与导航控制
- Flex3与.NET开发Flash Remoting:环境配置与步骤详解
- JavaServerPages Standard Tag Library (JSTL) 1.1 英文规范
- Spring、iBatis和WebWork框架集成实现Oracle数据库连接
- SDRAM内存模组详解:物理Bank与芯片位宽
- 使用VS.NET构建SQL Server数据库应用详解