求助!!关于文件操作的问题! 在线等!!!
选择文件,代码如下:
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 是使用相对路径打开的,
如果路径改变了,自然就打开失败······