MFC CString转string
时间: 2023-07-04 18:17:47 浏览: 137
在 MFC 中,可以通过使用 CStringT 模板类来实现 CString 类型和 string 类型之间的转换。CStringT 是一个通用的字符串模板类,可以用于表示 ANSI 或 Unicode 字符串。可以使用 CStringT 的 GetBuffer() 函数来获取 CString 类型的字符串缓冲区,然后通过将缓冲区指针传递给 string 类型的构造函数来创建一个 string 对象。同样,也可以使用 CStringT 的构造函数来将一个 string 对象转换为 CString 类型。
下面是一个将 CString 类型转换为 string 类型的示例代码:
```cpp
#include <afx.h>
#include <string>
using namespace std;
string CStringToString(const CString& cstr)
{
CT2A pszConvertedAnsiString(cstr);
string str(pszConvertedAnsiString);
return str;
}
```
在上面的代码中,首先使用 CT2A 宏将 CString 类型转换为 ANSI 字符串类型,然后使用 string 类型的构造函数将 ANSI 字符串转换为 string 对象。
注意,CT2A 宏用于将 CString 类型转换为 ANSI 字符串类型,如果 CString 类型表示的是 Unicode 字符串,则需要使用 CT2W 宏将其转换为 Unicode 字符串类型。另外,在将 CString 转换为 string 时,需要确保 CString 中的字符串是以 NULL 结尾的。
阅读全文