CFileDialog dlg(TRUE,_T("wav"),_T("*.wav"),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("波形文件(*.wav)"),NULL);
if(dlg.DoModal()==IDOK)
{
string.Format("%s",dlg.GetPathName());
CFile file;
if(!file.Open(string,CFile::modeRead|CFile::typeBinary,NULL))
{MessageBox("读源文件出错!","错误",MB_OK+MB_ICONSTOP);file.Close();return;}
     dwLengthOfFile=file.GetLength();
 char * pbuf=new char[dwLengthOfFile];
 ZeroMemory(pbuf,dwLengthOfFile);
     file.Read(pbuf, dwLengthOfFile);
    
 CWnd *p_richedit=this->editdlg.GetDlgItem(IDC_RICHEDIT1);
     if(p_richedit==NULL)
 MessageBox("编辑器初始化错误!",NULL,MB_OK|MB_ICONSTOP);
 p_richedit->SetWindowText(pbuf);
 delete pbuf;
 file.Close();
}请问各位大侠,为什么我已经用ZeroMemory函数初始化了,还是在文件读完后,又读出写乱码呢?比如我读一个.wav文件(注:此处的.wav文件为自定义的文件,并非真正的wav文件,而是一般的文本文件。)wave Noise;
  step=pi/204.8;
  begin
    for t=0.02 to pi*10 do sin(t)*log(t)
  end
wave_endend.葺葺葺葺葺荨为什么还是出现一些“葺荨”这样的乱码呢?我分配的字符数组不是正好等于文件的长度吗?而且已经初始化了,初始化有问题吗?