VS2010 MFC 选择文件并显示 路径 和 大小
初学MFC,写了一个小应用,选择文件显示其文件路径和文件大小。在win2003能成功运行,并显示结果。
但是在win 7 的环境下就显示无法打开文件,还有显示文件大小为0的情况。编译环境是VS2010
关键代码
/*
m_file 是CFile类型的,
m_filePath和m_fileName都是CString类型的
*/
void Cno1Dlg::OnBnClickedButton1()
{
CFileDialog dlg(TRUE);
if(dlg.DoModal() == IDCANCEL)
return;
if(m_file.m_hFile != CFile::hFileNull)
OnClose();
m_fileName = dlg.GetFileName();
if(!m_file.Open(m_fileName, CFile::modeCreate || CFile::modeReadWrite))
{
AfxMessageBox(_T("无法打开文件"));
m_fileName.Empty();
return;
}
m_filePath = dlg.GetPathName();
SetDlgItemTextW(IDC_EDIT1,m_filePath); //在IDC_EDIT1里显示文件路径
SetDlgItemInt(IDC_EDIT2,m_file.GetLength()/1024); //在IDC_EDIT2显示文件大小,单位是K,
}
[解决办法]
m_fileName = dlg.GetFileName();
---》改成下面试试
m_fileName = dlg.GetPathName();