VC++ MFC中CString对象的使用技巧

"这是关于MFC中CString类使用方法的一个总结,适合MFC初学者学习。主要涵盖了初始化、转换以及字符串操作等相关知识点。"
在Microsoft Foundation Classes (MFC) 库中,`CString` 是一个非常重要的类,它提供了一种方便的方式来处理和操作字符串。下面我们将详细探讨`CString`的使用方法。
1. 初始化方法:
- 直接赋值:可以直接将一个字符串赋值给`CString`对象,例如 `CString str = "mingrisoft";`。
- 构造函数:通过构造函数可以指定字符串长度并填充特定字符,如 `CString str(' ', 100)` 会创建一个100个空格的字符串。此外,可以从`char*`指针创建`CString`,例如 `char* p = "feiqiang"; CString str(p);`,记得在不再需要时释放`p`所指向的内存。
- 加载字符串资源:如果字符串存储在资源中,可以使用`LoadString()`函数加载,如 `CString str; str.LoadString(IDC_STR);`,其中`IDS_STR`是资源ID。
- `Format()`方法:`Format()`函数允许你根据模板格式化字符串,例如 `int i = 0; CString str; str.Format("value:%d", i);`。
2. 转换操作:
- `CString`转`char*`:可以使用`GetBuffer()`方法获取`CString`的内部缓冲区,例如 `CString str = "feqiang"; char* p = str.GetBuffer();`,之后需要手动释放内存。
- `char*`转`CString`:需要确保`char*`以空字符'\0'结束,然后直接传递给`CString`构造函数,如 `char* p = "feiqiang"; CString str(p);`。
- `char`数组转`CString`:可以直接将`char`数组传递给`CString`构造函数,如 `char buf[5] = {'a', 'b', 'c'}; CString str(buf);`。
- 数字转字符串:使用`Format()`方法,例如 `int i = 12; CString str; str.Format("%d", i);`,对于长整型、浮点型也有类似的方法。
3. 字符串操作:
- 提取中文字符:在处理包含多字节字符(如中文)的字符串时,可以用`IsDBCSLeadByte()`判断是否为双字节编码的前一个字节,然后使用`Mid()`截取相应部分,例如提取中文字符的代码片段。
- 其他操作:`CString`类提供了丰富的成员函数,如`GetAt()`获取指定位置的字符,`GetLength()`获取长度,`Left()`, `Right()`, `Mid()`截取子字符串,`Trim()`, `TrimLeft()`, `TrimRight()`去除空白等。
这个小结涵盖了`CString`的基本使用,对于初学者来说,是一个很好的起点,能帮助理解和掌握`CString`在MFC开发中的应用。通过这些操作,你可以高效地进行字符串处理,实现各种字符串相关的功能。
2009-12-10 上传
278 浏览量
108 浏览量
108 浏览量
800 浏览量
2011-10-22 上传
481 浏览量
125 浏览量
点击了解资源详情

wipiwin
- 粉丝: 0
最新资源
- WinSpd:Windows用户模式下的SCSI磁盘存储代理驱动
- 58仿YOKA时尚网触屏版WAP女性网站模板源码下载
- MPU6500官方英文资料下载 - 数据手册与寄存器映射图
- 掌握ckeditor HTML模板制作技巧
- ASP.NET实现百度地图操作及标点功能示例
- 高性能分布式内存缓存系统Memcached1.4.2发布X64版
- Easydownload插件:WordPress附件独立页面下载管理
- 提升电脑性能:SoftPerfect RAM Disk虚拟硬盘工具
- Swift Crypto:Linux平台的开源Apple加密库实现
- SOLIDWORKS 2008 API 二次开发工具SDK介绍
- iOS气泡动画实现与Swift动画库应用示例
- 实现仿QQ图片缩放功能的js教程与示例
- Linux环境下PDF转SVG的简易工具
- MachOTool:便携式Python工具分析Mach-O二进制文件
- phpStudy2013d:本地测试环境的安装与使用
- DsoFramer2.3编译步骤与office开发包准备指南