char *aa;
CFile file;
file.Open("ccc.txt",CFile::modeRead);
aa=new char[file.GetLength()];
file.Read(aa,file.GetLength());
m_Edit1=aa;
UpdateData(FALSE); 
假如我文件只有12,但是编辑框中显示的却是12葺1,这到底怎么回事。

解决方案 »

  1.   

    你要加上字符串结束符,改为如下:char *aa;
    CFile file;
    file.Open("ccc.txt",CFile::modeRead);
    aa=new char[file.GetLength() + 1];
    file.Read(aa,file.GetLength());
    aa[file.GetLength()+1] = '\0';
    m_Edit1=aa;
    UpdateData(FALSE); OK!
      

  2.   

    读到的内容不包含字符串结束符,m_Edit1实际上指向了以aa为起始地值的一段内存,因此显示的内容不只是从文件读到的,还有内存中的,直到出现0