CString转const. char*
时间: 2023-11-13 15:02:43 浏览: 136
可以通过CString的`GetString()`方法获取其内部的const char*字符串指针,从而将CString转为const char*类型,例如:
```
CString str = "Hello, world!";
const char* cstr = str.GetString();
```
注意,`GetString()`方法返回的const char*指针只有在CString对象存在时才有效,如果CString对象已经被销毁,那么该指针将会变成一个悬空指针,可能会导致程序崩溃或者不可预料的行为。因此,在使用`GetString()`方法获取CString字符串指针后,需要确保该指针所指向的CString对象在使用期间一直存在。
相关问题
CString转const. chat*
可以使用CString类的成员函数GetString()将CString对象转换为const char*类型,如下所示:
```c++
CString str = "Hello";
const char* cstr = str.GetString();
```
这样就将CString类型的变量str转换为了const char*类型的变量cstr。需要注意的是,使用完GetString()函数后,需要手动释放内存。可以使用CString类的成员函数ReleaseBuffer()或者Empty()释放内存,如下所示:
```c++
str.ReleaseBuffer();
// 或者
str.Empty();
```
如果不手动释放内存,可能会造成内存泄漏。
mfc从cstring转到const char*
可以使用CString的GetBuffer()函数获取一个指向CString内部字符数组的指针,然后再使用该指针转换为const char*类型。
例如:
CString str = "Hello World";
const char* cstr = str.GetBuffer();
// 使用cstr指向的字符数组
str.ReleaseBuffer(); // 释放指针
需要注意的是,在使用完GetBuffer()函数后,需要调用CString的ReleaseBuffer()函数来释放指针,否则可能会导致内存泄漏。
阅读全文