Cstring转string
时间: 2023-11-16 14:06:39 浏览: 79
Cstring转string的方法有多种,以下是其中两种常用的转换方式:
1. 使用CString的GetString()方法获取LPCTSTR类型的指针,然后将其传递给string的构造函数进行转换:
```
CString cstr;
string str(cstr.GetString());
```
2. 使用CStringA的GetString()方法获取LPCSTR类型的指针,然后将其传递给string的构造函数进行转换:
```
CStringA cstrA(cstr);
string str(cstrA.GetString());
```
相关问题
CString转string
CString是MFC框架中的一种字符串类型,可以通过下列方法将其转换为string类型:
```
CString cstr;
string str;
str = (LPCTSTR)cstr;
```
或者:
```
CString cstr;
string str;
str = cstr.GetBuffer();
```
请注意,在使用GetBuffer()方法时,需要对CString对象进行释放。
CString 转 string
可以使用 CString 的 GetBuffer 方法获取其内部的字符数组指针,然后将其转换为 std::string 类型。示例如下:
```cpp
CString cstr = "Hello, World!";
std::string str(cstr.GetBuffer());
```
需要注意的是,在获取字符数组指针后,必须调用 CString 的 ReleaseBuffer 方法来释放其内部缓冲区,否则可能会导致内存泄漏。示例如下:
```cpp
CString cstr = "Hello, World!";
const char* buffer = cstr.GetBuffer();
std::string str(buffer);
cstr.ReleaseBuffer();
```
另外,如果需要将 std::string 转换为 CString,可以使用 CString 的构造函数来实现:
```cpp
std::string str = "Hello, World!";
CString cstr(str.c_str());
```
阅读全文