CString 转 char*
时间: 2024-06-15 21:08:13 浏览: 135
CString是MFC(Microsoft Foundation Classes)中的一个类,用于处理。它提供了一系列的成员函数来方便地进行字符串操作。要将CString转换为char*,可以使用CString的GetBuffer()函数或GetString()函数。
1. 使用GetBuffer()函数:
CString类中的GetBuffer()函数返回一个指向CString对象内部字符缓冲区的指针,可以通过该指针直接访问字符串数据。示例代码如下:
```
CString str = "Hello, World!";
char* charPtr = str.GetBuffer(str.GetLength());
```
在上述代码中,我们首先创建了一个CString对象str,并将其初始化为"Hello, World!"。然后,通过调用GetBuffer()函数获取指向内部字符缓冲区的指针charPtr。需要注意的是,我们需要传递字符串的长度作为参数给GetBuffer()函数。
2. 使用GetString()函数:
CString类中的GetString()函数返回一个const char*指针,指向CString对象内部的字符数组。示例代码如下:
```
CString str = "Hello, World!";
const char* charPtr = str.GetString();
```
在上述代码中,我们同样创建了一个CString对象str,并将其初始化为"Hello, World!"。然后,通过调用GetString()函数获取指向内部字符数组的指针charPtr。
需要注意的是,使用GetBuffer()或GetString()函数获取的指针只在CString对象没有被修改或销毁的情况下有效。如果对CString对象进行了修改或销毁,那么获取的指针将不再有效。
阅读全文