CString(unicode编码的) to char * CString str(_T("我是student"));把str转化成char * p;??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 char *p=str.GetBuffer(str..GetLength());str.ReleaseBuffer(); char *p=str.GetBuffer(str.GetLength()); str.ReleaseBuffer();刚多了一个点 // unicode to ansi CString wszString(_T("我是student")); //预转换,得到所需空间的大小 int ansiLen = ::WideCharToMultiByte(CP_ACP, NULL, wszString, wcslen(wszString), NULL, 0, NULL, NULL); //分配空间要给'\0'留个空间 char* szAnsi = new char[ansiLen + 1]; //转换 ::WideCharToMultiByte(CP_ACP, NULL, wszString, wcslen(wszString), szAnsi, ansiLen, NULL, NULL); //最后加上'\0' szAnsi[ansiLen] = '\0'; ::MessageBoxA(NULL, szAnsi, szAnsi, MB_OK); delete[] szAnsi; 这个是正确的!如果在unicode下有可能MessageBox这句不能执行,你可以不用MessageBox,在程序里打一个断点就可以看到转换的结果了! 迷茫了,求指点 treectrl的setcheck问题 有没有人看过李建华/王占全编写的《Visual C++编程 从基础到实践》一书的??? wtl编译问题? CListCtrl的Create方法只能在初始化对话框时创建吗? CHtmlView的怪问题 如何让一个已显示的窗口隐藏后再次显示时为隐藏前窗口的大小 高分相送,高峰相送,简单问题 线程的返回值为0为1对程序有何影响 VC 以ADO形式连接MYSQL 如何静态调用MFC规则DLL 关于非模式对话框的Z轴坐标的问题,高手请指教 如何在手机上编写vc++代码,并且编译成vc++程序
str.ReleaseBuffer();
str.ReleaseBuffer();刚多了一个点
// unicode to ansi
CString wszString(_T("我是student"));
//预转换,得到所需空间的大小
int ansiLen = ::WideCharToMultiByte(CP_ACP, NULL, wszString, wcslen(wszString), NULL, 0, NULL, NULL);
//分配空间要给'\0'留个空间
char* szAnsi = new char[ansiLen + 1];
//转换
::WideCharToMultiByte(CP_ACP, NULL, wszString, wcslen(wszString), szAnsi, ansiLen, NULL, NULL);
//最后加上'\0'
szAnsi[ansiLen] = '\0';
::MessageBoxA(NULL, szAnsi, szAnsi, MB_OK);
delete[] szAnsi;
如果在unicode下有可能MessageBox这句不能执行,
你可以不用MessageBox,在程序里打一个断点就可以看到转换的结果了!