c++中 _Cstring转string
时间: 2023-11-21 11:07:02 浏览: 239
在C++中,可以使用`std::string`类来表示字符串,而`_Cstring`是MFC中的一种字符串类型。要将`_Cstring`转换为`std::string`,可以使用以下方法:
```cpp
#include <string>
#include <afx.h> // 包含 MFC 头文件
std::string CStringToString(const CString& cstr)
{
// 将 CString 转换为 LPCSTR
LPCSTR str = (LPCSTR)cstr;
// 将 LPCSTR 转换为 std::string
std::string result(str);
return result;
}
```
上述代码中,我们首先将`_Cstring`转换为`LPCSTR`类型,然后再将`LPCSTR`转换为`std::string`类型。需要注意的是,`CString`中的字符串可能包含Unicode字符,因此在转换时需要进行编码转换。
相关问题
c++ cstring转string
在C++中,cstring和string都是字符串类型。但是cstring是一个字符数组,而string是一个对象类型。为了将cstring转换为string,可以使用string的构造函数将其赋值给一个string对象。
c++ CString转string
以下是几种将C++的CString转换为string的方法[^1]:
方法一:
```cpp
CString theCStr = "ksarea";
std::string STDStr( CW2A( theCStr.GetString() ) );
```
方法二:
```cpp
CString m_Name = "ksarea";
CT2CA pszName(m_Name);
std::string m_NameStd(pszName);
```
方法三:
```cpp
CString str = L"ksarea";
std::wstring ws(str);
std::string s;
s.assign(ws.begin(), ws.end());
```
阅读全文