首页 > 编程语言 > 详细

MFC:在Unicode编码下CString、char *转换

时间:2018-05-31 23:51:38      阅读:263      评论:0      收藏:0      [点我收藏+]

一、CString转char *

CString pb=_T("abc");
int len = WideCharToMultiByte(CP_UTF8, 0, pb, pb.GetLength(), NULL, 0, NULL, NULL);
    char* pa = new char[len + 1];
    len = WideCharToMultiByte(CP_UTF8, 0, pb, pb.GetLength(), pa, len + 1, NULL, NULL);
    pa[len] = 0;
//pa就是最后转换成的char *

二、char * 转CString

CString st=_T("123");
 int nLength = st.GetLength();
 int nBytes = WideCharToMultiByte(CP_ACP,0,st,nLength,NULL,0,NULL,NULL);
 char* path1 = new char[ nBytes + 1];
 memset(path1,0,nLength + 1);
 WideCharToMultiByte(CP_OEMCP, 0, st, nLength, path1, nBytes, NULL, NULL); 
 path1[nBytes] = 0; 

 

MFC:在Unicode编码下CString、char *转换

原文:https://www.cnblogs.com/tianxiafeiyu/p/9119615.html

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