我在VS2005下编写了这样一个小功能,用户选择一个文件,程序将用户选择的文件路径和文件名写入文件。
代码如下:void CPlayerEditDlg::OnBnClickedBtnbrowser()
{
//  打开文件浏览窗口
CFileDialog   dlg(TRUE,_T(""),_T(""),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("所有文件(*.*)|*.*|"));   
if(IDOK==dlg.DoModal()){   
m_strFileName=dlg.GetPathName();//m_strFileName关联一个现实文件名的Edit Control
UpdateData(FALSE);
}
}void CPlayerEditDlg::OnBnClickedBtnok()
{
UpdateData(TRUE);
CStdioFile fp; if (!fp.Open("Config.txt", CFile::modeCreate|CFile::modeWrite|CFile::typeText))
{
MessageBox("配置文件打开失败", "警告", MB_OK );
return;
} fp.WriteString(m_strFileName);

fp.Close(); CDialog::OnOK();
}界面上就是一个Edit Control和一个Button。点击Button弹出文件浏览框。
如果我浏览选择一个文件,确定后能够保存出路径和文件名。但是以后我再试就存不了了。删掉有Config.txt,也没有空的Config.txt出现。在fp.Open语句后加GetLastError,得到的值是0,就是操作成功,但就是没有文件保存,MessageBox("配置文件打开失败", "警告", MB_OK );也不弹出。
如果我在Edit Control里面直接输入字符后保存,怎么都能保存成功。
后来我把工程放到了VS2008里面重新编译后,在运行就能有我要的效果,没有问题了。
不知道这是怎么回事,而且我现在学要的05的工程,有谁能帮我看下,谢谢!