前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CDuiString和String的转换

CDuiString和String的转换

作者头像
全栈程序员站长
发布2022-07-14 18:37:57
5780
发布2022-07-14 18:37:57
举报

大家好,又见面了,我是全栈君

很多时候 难免用到CDuiString和string的转换。

我们应该注意到,CDuiString类有个方法:

代码语言:c#
复制
LPCTSTR GetData() const;

可以通过这个方法,把CDuiString变为LPCTSTR ; 所以下一步只是如何把LPCTSTR 转为string了。

首先写一个StringFromLPCTSTR函数,完成转换:

代码语言:c++
复制
std::string StringFromLPCTSTR(LPCTSTR str) { #ifdef _UNICODE int size_str = WideCharToMultiByte(CP_UTF8, 0, str, -1, 0, 0, NULL, NULL); char* point_new_array = new char[size_str]; WideCharToMultiByte(CP_UTF8, 0, str, -1, point_new_array, size_str, NULL, NULL); std::string return_string(point_new_array); delete[] point_new_array; point_new_array = NULL; return return_string; #else return std::string(str); #endif }

下面就可以完成duicstring到string的转换了:

代码语言:text
复制
CDuiString download_link = msg.pSender->GetUserData(); std::string download_link_str = StringFromLPCTSTR(download_link.GetData());

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120243.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年12月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档