大家好,我最近编的一个程序,目的是通过一个按钮打开一个文件对话框,然后选择想要的文件,程序将这个文件的路径存储在一个文件中,并将这个路径显示到对话框上的一个编辑框中。我写的关于打开按钮的响应函数如下:
void CProp12::OnButton33()
{
// TODO: Add your control notification handler code here
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="选择矩阵文件";
fileDlg.m_ofn.lpstrFilter="Text Files(*.dat)\0*.dat\0All Files(*.*)\0*.*\0\0";
if(IDOK==fileDlg.DoModal())
{
CString m2=fileDlg.GetPathName();
m1=m_m2;
if(m1!="")
{
CFile file1("CHANGE-1\\ERP\\CIVDP\\results\\matrixpath.dat",CFile::modeCreate|CFile::modeWrite);
file1.Write(m2,strlen(m2));
file1.Close();
CFile file2(m1,CFile::modeRead);
char *pBuf;
DWORD dwFileLen;
dwFileLen=file2.GetLength();
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0;
file2.Read(pBuf,dwFileLen);
file2.Close();
// MessageBox(pBuf);
SetDlgItemText(IDC_EDIT121,pBuf);
UpdateData(FALSE);
}
}
}
程序中的m1是与编辑框关联的cstring变量。程序编译能够通过,可是在运行的时候,点击按钮选择文件后却弹出一个对话框提示“CHANGE-1\\ERP\\CIVDP\\results\\matrixpath.dat中包含无效的路径”,我检查了好几遍路径都是正确的。PS:文件
CHANGE-1\\ERP\\CIVDP\\results\\matrixpath.dat是与程序放在一个文件夹中的,程序中还有其它模块,也用了类似的相对路径,只是没有打开文件对话框的内容,我就想是不是写的关于文件对话框的程序有错误?请各路高手指点迷津!!!
void CProp12::OnButton33()
{
// TODO: Add your control notification handler code here
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="选择矩阵文件";
fileDlg.m_ofn.lpstrFilter="Text Files(*.dat)\0*.dat\0All Files(*.*)\0*.*\0\0";
if(IDOK==fileDlg.DoModal())
{
CString m2=fileDlg.GetPathName();
m1=m_m2;
if(m1!="")
{
CFile file1("CHANGE-1\\ERP\\CIVDP\\results\\matrixpath.dat",CFile::modeCreate|CFile::modeWrite);
file1.Write(m2,strlen(m2));
file1.Close();
CFile file2(m1,CFile::modeRead);
char *pBuf;
DWORD dwFileLen;
dwFileLen=file2.GetLength();
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0;
file2.Read(pBuf,dwFileLen);
file2.Close();
// MessageBox(pBuf);
SetDlgItemText(IDC_EDIT121,pBuf);
UpdateData(FALSE);
}
}
}
程序中的m1是与编辑框关联的cstring变量。程序编译能够通过,可是在运行的时候,点击按钮选择文件后却弹出一个对话框提示“CHANGE-1\\ERP\\CIVDP\\results\\matrixpath.dat中包含无效的路径”,我检查了好几遍路径都是正确的。PS:文件
CHANGE-1\\ERP\\CIVDP\\results\\matrixpath.dat是与程序放在一个文件夹中的,程序中还有其它模块,也用了类似的相对路径,只是没有打开文件对话框的内容,我就想是不是写的关于文件对话框的程序有错误?请各路高手指点迷津!!!
GetCurrentDirectory这个函数会改变当前路径的。。