首页 > 其他 > 详细

将ASCII字符串转换为UNICODE字符串

时间:2014-04-10 15:39:02      阅读:470      评论:0      收藏:0      [点我收藏+]

写在前面的话:在MFC的网络编程中,由于现在项目都是使用UNICODE编码,但是网络API的许多函数却只能接受const char*的参数,所以经常会遇到需要将char*转换为TCHAR*的时候,有一个函数可以实现,但是用起来比较麻烦,所以自己就对它进行了封装,形成自己的函数,记下来,以备后用。

函数很简单,代码如下:

bubuko.com,布布扣
1 TCHAR* CServerDlg::AsciiToUnicode(char *str)
2 {
3     DWORD dwNum = 0;
4     dwNum = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
5     TCHAR* pwHostName = new TCHAR[dwNum];
6     MultiByteToWideChar(CP_ACP, 0, str, -1, pwHostName, dwNum);
7     return pwHostName;
8 }
bubuko.com,布布扣

使用此函数时,只需要传入需要转换的char数组就可以了,返回一个TCHAR*的指针,需要注意的是,因为返回的是一个指向动态生成的字符数组,因此在得到返回值之后应该立刻拷贝下来,然后将指针指向的内存区销毁,以免造成内存泄漏,用C++最需要注意这一点了,一不小心就会内存泄漏。

 

将ASCII字符串转换为UNICODE字符串,布布扣,bubuko.com

将ASCII字符串转换为UNICODE字符串

原文:http://www.cnblogs.com/lit10050528/p/3656142.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!