Cstring怎样转std::string
时间: 2024-01-23 14:01:46 浏览: 37
Cstring可以通过以下两种方式转换为std::string:
1. 使用CA2T函数将std::string转换为CString,然后再使用GetString函数将CString转换为std::string。示例代码如下:
```cpp
std::string name = "convert";
CString c_name = CA2T(name.c_str());
std::string str = CT2A(c_name.GetString());
```
2. 直接使用GetString函数将CString转换为std::string。示例代码如下:
```cpp
CString c_name = "convert";
std::string str = CT2A(c_name.GetString());
```
请注意,这两种方法都需要包含头文件"atlconv.h"。
相关问题
mfc中Cstring怎么转std::string
在MFC中,将CString转换为std::string有两种常见的方法:
方法一:
```cpp
CString cstr = L"hello";
std::wstring ws(cstr);
std::string str(ws.begin(), ws.end());
```
方法二:
```cpp
CString cstr = "hello";
std::string str;
str = CStringA(cstr);
```
这两种方法都可以将CString转换为std::string。方法一首先将CString转换为std::wstring,然后再将std::wstring转换为std::string。方法二直接使用CStringA将CString转换为std::string。
CString 转 std::string
要将CString转换为std::string,有几种方法可以实现。以下是其中的三种方法:
1.使用CString的GetString()函数和std::string的构造函数,将CString转换为LPCTSTR,然后将LPCTSTR转换为std::string。例如:
CString c_name = "convert";
std::string str = c_name.GetString();
2.使用CString的GetString()函数和ATL的CW2A()函数,将CString转换为char*,然后将char*转换为std::string。例如:
CString c_name = _T("convert");
std::string str = CW2A(c_name.GetString());
3.使用CString的GetBuffer()函数和std::string的构造函数,将CString转换为char*,然后将char*转换为std::string。例如:
CString strCS("HelloWorld");
std::string strS;
strS = strCS.GetBuffer(0);
要将CString转换为std::string,有几种方法可以实现。以下是其中的三种方法:
1.使用CString的GetString()函数和std::string的构造函数,将CString转换为LPCTSTR,然后将LPCTSTR转换为std::string。例如:
CString c_name = "convert";
std::string str = c_name.GetString();
2.使用CString的GetString()函数和ATL的CW2A()函数,将CString转换为char*,然后将char*转换为std::string。例如:
CString c_name = _T("convert");
std::string str = CW2A(c_name.GetString());
3.使用CString的GetBuffer()函数和std::string的构造函数,将CString转换为char*,然后将char*转换为std::string。例如:
CString strCS("HelloWorld");
std::string strS;
strS = strCS.GetBuffer(0);