|
非常感谢大家的回复。我主要是uincode编码没弄明白。cfanlwn和gengzhen_2005的方法都可以用。我的程序是:
char* CADSAMPLEDlg::w2c(char* pcstr,const wchar_t* pwstr)
{
/*const wchar_t* pwstr;
pwstr=app->pathsave.GetBuffer(app->pathsave.GetLength());*/
pcstr = (char *)malloc(sizeof(char)*(2 * wcslen(pwstr)+1));
int nlength =wcslen(pwstr);
int nbytes = WideCharToMultiByte(0,0,pwstr,nlength,NULL,0,NULL,NULL);//为缓冲区分配空间,防止内存泄漏
WideCharToMultiByte(0,0,pwstr,nlength,pcstr,nbytes,NULL,NULL);
return pcstr;
}
做到是做出来了,可是存的时候转换的内容经常错误,比如应该是:aa.bmp,会转成aa.加几个小方框。
这应该也是转换错误吧??? |
|