void CCifaDlg::OnInput_button()
{
CString szFilter="cpp files(*.cpp)|*.cpp|c files(*.c)|*.cpp|txt files(*.txt)|*.txt|All files(*.*)|*.*||"; //打开文件类型
CFileDialog fd(true,NULL,NULL,NULL,szFilter); //创建对象if(fd.DoModal() == IDOK)
{
CFile pc(fd.GetPathName(),CFile::modeRead); //将文件按路径名以只读的方式打开
int nFileLength = pc.GetLength(); //获取所选择文件的长度(多少字节)
char *buffer; //定义缓存指针
HGLOBAL hgl=::GlobalAlloc(GMEM_MOVEABLE,nFileLength+1);
buffer=(char *)::GlobalLock(hgl);
pc.Read(buffer,nFileLength);
SetDlgItemText (IDC_EDIT,buffer);
::GlobalUnlock(hgl);
::GlobalFree(hgl);
pc.Close();
}}这段代码的目标功能是,在一个对话框中单击按钮,出现打开文件的对话框,然后选择文件打开,并在edit控件中显示,问题是,我在显示打开的文件时总多了几个字符(随机的),也就是说多输出了几个字符,到底哪里出问题了呢?望高手提出解答~