我想把char *Buf的值赋给CString Str,以下代码,为什么会出错?应该怎么修改,前提条件一定保留new char(50)分配内存
CString Str;
char *Buf;
Buf=new char(50);
strcpy(Buf,"ddd");
Str=Buf;
delete []Buf;
CString Str;
char *Buf;
Buf=new char(50);
strcpy(Buf,"ddd");
Str=Buf;
delete []Buf;
调试欢乐多
这种方式也试过了,但是还是在delete []Buf;时候出错
char buf[50]; // or char *buf=new char[50];strcpy(buf, "ddd");
str = buf;
试试这样会不会出错
->Buf=new char[50];
char *Buf;
Buf=new char[50]; //()->[]
strcpy(Buf,"ddd");
Str=Buf;
delete []Buf;
You programe modified by this:
void CVC005Dlg::OnBnClickedOk()
{
CString Str;
char* Buf ;
Buf = _tcsdup(_T("ddd"));
Str = Buf;
free(Buf);
AfxMessageBox(Str);
}