学习MFC过程中遇到的问题

1.CString和“char *” 类型转换

···

char* CExample009ArraySortDlg::CString2Char(CString str) {

//注意:以下n和len的值大小不同,n是按字符计算的,len是按字节计算的

int n = str.GetLength();

//获取宽字节字符的大小,大小是按字节计算的

int len = WideCharToMultiByte(CP_ACP, 0, str, str.GetLength(), NULL, 0, NULL, NULL);

//为多字节字符数组申请空间,数组大小为按字节计算的宽字节字节大小

char* cStr = new char[len + 1];  //以字节为单位

//宽字节编码转换成多字节编码         

WideCharToMultiByte(CP_ACP, 0, str, str.GetLength(), cStr, len, NULL, NULL);

return cStr;

}

···

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容