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

3星 · 超过75%的资源 需积分: 10 5 下载量 77 浏览量 更新于2024-09-17 收藏 96KB DOC 举报
"这是关于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开发中的应用。通过这些操作,你可以高效地进行字符串处理,实现各种字符串相关的功能。