CString str = _T("D:\\校内项目");
//注意:以下n和len的值大小不同,n是按字符计算的,len是按字节计算的
int n = str.GetLength(); // n = 14, len = 18
//获取宽字节字符的大小,大小是按字节计算的
int len = WideCharToMultiByte(CP_ACP,0,str,str.GetLength(),NULL,0,NULL,NULL);
//为多字节字符数组申请空间,数组大小为按字节计算的宽字节字节大小
char * pFileName = new char[len+1]; //以字节为单位
//宽字节编码转换成多字节编码
WideCharToMultiByte(CP_ACP,0,str,str.GetLength(),pFileName,len,NULL,NULL);
pFileName[len+1] = '\0'; //多字节字符以'\0'结束
转载:https://blog.youkuaiyun.com/j6915819/article/details/8250280
MFC中CString转char实现方法
博客介绍了MFC中CString转char的具体实现。通过获取CString的字符长度和宽字节字符大小,为多字节字符数组申请空间,再将宽字节编码转换成多字节编码,最后以'\0'结束多字节字符。还给出了转载链接。
3499

被折叠的 条评论
为什么被折叠?



