CString 转 string
时间: 2023-07-20 17:42:38 浏览: 80
可以使用以下代码将 CString 转换为 std::string:
```c++
CString cs = _T("Hello World");
std::string str((LPCTSTR)cs);
```
其中,LPCTSTR 是一个宏定义,用于将 CString 转换为 const TCHAR* 类型。在使用该宏定义时,需要确保项目的字符集设置为“使用多字节字符集”。如果项目的字符集设置为“使用 Unicode 字符集”,则需要将 LPCTSTR 替换为 LPCWSTR。
相关问题
CString转string
CString是MFC框架中的一种字符串类型,可以通过下列方法将其转换为string类型:
```
CString cstr;
string str;
str = (LPCTSTR)cstr;
```
或者:
```
CString cstr;
string str;
str = cstr.GetBuffer();
```
请注意,在使用GetBuffer()方法时,需要对CString对象进行释放。
cstring转string
可以使用`std::string`的构造函数将`char*`或`const char*`类型的字符串转换为`std::string`类型。
例如:
```cpp
#include <cstring>
#include <string>
int main() {
const char* cstr = "Hello, world!";
std::string str(cstr);
return 0;
}
```
如果要将`CString`类型的字符串转换为`std::string`,可以先将其转换为`const char*`类型,然后再使用上述方法。
例如:
```cpp
#include <string>
#include <atlstr.h>
int main() {
CString cstr = _T("Hello, world!");
std::string str(CT2A(cstr));
return 0;
}
```
其中,`CT2A`是`ATL`库中的一个函数,用于将`CString`类型的字符串转换为`const char*`类型的字符串。
阅读全文