文件打开有关问题csFile.Open(filePath,CFile:modeRead)
文件打开问题csFile.Open(filePath,CFile::modeRead);
bool d=(bool)csFile.Open(filePath,CFile::modeRead);
int k=GetLastError();
return d;
k的值返回2,用Windows Error Lookup Tool 工具查看显示的结果是:系统找不到指定的文件。但是我的路径下面确实有指定文件名的文件呀,为什么呢?
进行调试到csFile.Open(filePath,CFile::modeRead);这句话时,继续进入进行调试,到下面一段
if (hFile == INVALID_HANDLE_VALUE)
{
_AfxFillExceptionInfo(pException,lpszFileName);
return FALSE;
}
就执行了,return FALSE.
在这先谢谢各位高手了,帮帮忙吧!!!困扰了好长时间了!!!看在是菜鸟的份上,大家不要因为太简单不告诉我哦
------解决方案--------------------
用绝对路径
------解决方案--------------------
你调试一下,把filePath的值输出来看看
------解决方案--------------------
打开文件最好使用绝对路径,因为程序中的其它关于文件选择的地方可能改变当前路径.
获取程序当前工作路径,使用如下代码:
TCHAR path[256]={0};
GetModuleFileName(NULL,Path,256);
------解决方案--------------------
用绝对路径,看相对路径是否正确
------解决方案--------------------
就是判断hFile是不是空的。
------解决方案--------------------
那就是相对路径了。相对路径很容易出问题。
bool d=(bool)csFile.Open(filePath,CFile::modeRead);
int k=GetLastError();
return d;
k的值返回2,用Windows Error Lookup Tool 工具查看显示的结果是:系统找不到指定的文件。但是我的路径下面确实有指定文件名的文件呀,为什么呢?
进行调试到csFile.Open(filePath,CFile::modeRead);这句话时,继续进入进行调试,到下面一段
if (hFile == INVALID_HANDLE_VALUE)
{
_AfxFillExceptionInfo(pException,lpszFileName);
return FALSE;
}
就执行了,return FALSE.
在这先谢谢各位高手了,帮帮忙吧!!!困扰了好长时间了!!!看在是菜鸟的份上,大家不要因为太简单不告诉我哦
------解决方案--------------------
用绝对路径
------解决方案--------------------
你调试一下,把filePath的值输出来看看
------解决方案--------------------
打开文件最好使用绝对路径,因为程序中的其它关于文件选择的地方可能改变当前路径.
获取程序当前工作路径,使用如下代码:
TCHAR path[256]={0};
GetModuleFileName(NULL,Path,256);
------解决方案--------------------
用绝对路径,看相对路径是否正确
------解决方案--------------------
就是判断hFile是不是空的。
------解决方案--------------------
那就是相对路径了。相对路径很容易出问题。