CDuiString和String的转换

很多时候难免用到CDuiString和string的转换。我们应该注意到,CDuiString类有个方法:可以通过这个方法,把CDuiString变为LPCTSTR; 所以下一步只是

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

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

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

LPCTSTR GetData() const;

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

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

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的转换了:

CDuiString download_link = msg.pSender->GetUserData(); std::string download_link_str = StringFromLPCTSTR(download_link.GetData());
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javascript取整数几种方式

    javascript取整数几种方式Math.round(num)//四舍五入Math.floor(num)//小于等于num的整数Math.ceil()//大于等于num的整数parseInt(num)//小于等于num的整数,与floor的区别是parseInt参数可以是string类型,如’5abc’返回5。

    2022年6月17日
    27
  • 初识js中的闭包_Js闭包中变量理解

    初识js中的闭包_Js闭包中变量理解今天看了关于js闭包方面的文章,还是有些云里雾里,对于一个菜鸟来说,学习闭包确实有一定的难度,不说别的,能够在网上找到一篇优秀的是那样的不易。当然之所以闭包难理解,个人觉得是基础知识掌握的不牢,因为

    2022年8月6日
    13
  • android遍历的方法,android中遍历arrayList的四种方法

    android遍历的方法,android中遍历arrayList的四种方法一.在android中遍历arrayList有以下四种方法:1.实例:packagecom.mylist.test;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;publicclassArrayListDemo{publicstaticvoidmain(Stringargs[])…

    2022年7月22日
    10
  • sdio接口是什么_如何理解api接口

    sdio接口是什么_如何理解api接口运用SD卡第一步,认识SDIO接口做毕业设计需要用到大量的音频文件,一般的存储器满足不了存储要求,故选择SD卡作为存储器件。在这里记录一下自己的学习经历,学习一个新的IC,无非是要么根据时序图写出Read和Write函数,要么是根据通信总线和IC相关操作指令去完成Read和Write函数。只有能与对应IC“说话”,我们才能去开发它更多地可能性。这里以原子探索者为例,为大家介绍一下SD卡相关知识。…

    2022年10月3日
    5
  • 二分法 matlab应用,MATLAB算法の二分法[通俗易懂]

    从今起准备连续多期介绍一些常用的算法,通过不断实践“算法到程序”这一过程来学习matlab编程,久而久之就可做到熟能生巧。今天要介绍的是二分法,它是一种古老且经典的、蕴含深刻哲理的算法。我们知道现实物理世界是有限的,而抛开物理意义却又是无限可分的,而二分法就是基于这种无限可分思想,可以说它是连接有限与无限的纽带。今天主要介绍二分法在数学寻根中的应用,毕竟为的是将算法程序化。要求单调函数f(x)在区…

    2022年4月11日
    67
  • tcptraceroute命令可以绕过最常见的防火墙过滤器「建议收藏」

    tcptraceroute命令可以绕过最常见的防火墙过滤器「建议收藏」问:我的ISP阻止了ICMPECHO请求,我不能使用traceroute命令,有什么方法可以使用端口转发或类似方法发送traceroute?答:tcptraceroute命令可以绕过最常见的防火墙过滤器。基本上,traceroute会发送TTL为1的UDP(端口33434至33523端口)或ICMPECHO数据包,并递增TTL,直到到达目标为止。但是,出于安全原因,许多ISP/WSP(网络托管服务提供商)会阻止某些UDP(甚至TCP)和ICMP端口。使用tcptracerou

    2022年6月20日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号