std::wstring std::string w2m m2w
static std::wstring m2w(std::string ch, unsigned int CodePage = CP_ACP) { if (ch.empty())return L""; std::wstring ret; DWORD dwOutSize = 0; dwOutSize = MultiByteToWideChar(CodePage, 0, ch.c_str(), -1, NULL, 0); ret.resize(dwOutSize - 1); MultiByteToWideChar(CodePage, 0, ch.c_str(), ch.size(), &ret[0], dwOutSize); return ret; }
static std::string w2m(std::wstring wch, unsigned int CodePage = CP_ACP) { std::string ret; DWORD dwOutSize = 0; dwOutSize = WideCharToMultiByte(CodePage, 0, wch.c_str(), -1, NULL, 0, NULL, FALSE); char *pwText = 0; pwText = new char[dwOutSize]; pwText[dwOutSize - 1] = '\0'; WideCharToMultiByte(CodePage, 0, wch.c_str(), wch.size(), pwText, dwOutSize, NULL, FALSE); ret = pwText; if (pwText)delete[]pwText; return ret; }
std::string name = w2m(m2w(obj->GetName(), CP_UTF8));//转换编码
QQ 3087438119
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2018-07-05 IFC—IfcProduct实体继承框架