string CStringTostring(CString cstr)
{
// 确定目标代码页,比如CP_ACP代表当前系统的默认ANSI代码页
int codePage = CP_ACP;
// 计算转换后需要的缓冲区大小
int requiredSize = WideCharToMultiByte(codePage, 0, (LPCWSTR)cstr, -1, nullptr, 0, nullptr, nullptr);
// 分配足够的内存来存储转换后的字符串
std::vector<char> buffer(requiredSize);
// 执行转换
WideCharToMultiByte(codePage, 0, (LPCWSTR)cstr, -1, &buffer[0], requiredSize, nullptr, nullptr);
// 构造std::string对象,注意不要包括终止的null字符
std::string str(&buffer[0], &buffer[0] + requiredSize - 1);
return str;
}
CString转string
最新推荐文章于 2024-07-08 21:23:20 发布