读书人

!关于文件操作的有关问题! !

发布时间: 2012-02-04 15:43:09 作者: rapoo

求助!!关于文件操作的问题! 在线等!!!
选择文件,代码如下:
CString FileFilter = "cpp文件(*.*)|*.*|| ";
CFileDialog fileDlg(false, "*.cpp ", "*.cpp ",NULL,FileFilter,NULL);
if (fileDlg.DoModal()==IDOK)
{
m_sFilePath=fileDlg.GetPathName();
UpdateData(FALSE);
}
这之后,打开另外一个文件1.txt(已存在)。代码如下:
int ret;
long retf;

ret=_open(WATERMARK_DEFINITION,_O_RDWR | _O_BINARY,_S_IREAD);

这里试过用fopen,CreateFile都不能成功。

奇怪的是,如果不进行上边的
CFileDialog fileDlg(false, "*.cpp ", "*.cpp ",NULL,FileFilter,NULL);
if (fileDlg.DoModal()==IDOK)
操作,则可以成功打开文件。

百思不得其解~ 请高手指点阿~

[解决办法]
#define WATERMARK_DEFINITION “1.txt”
==》
#define WATERMARK_DEFINITION "C:\\1.txt "

这个文件使用绝对路径试试是否可以正常打开。

如果可以的话,
检查程序的工作路径是否有被改变,
因为你的 1.txt 是使用相对路径打开的,
如果路径改变了,自然就打开失败

读书人网 >C++

热点推荐