📄 subject_22620.htm
字号:
<p>
序号:22620 发表者:金枪鱼 发表日期:2002-11-27 10:47:01
<br>主题:请帮我看看,问题出在何处(访问文件)?
<br>内容:我的程序调用一个控制台程序(控制台程序运行后会生成一个临时文件temp00.tmp),程序等待控制台程序运行结束后,将读取这个文件的内容:<BR><BR> CFile file;<BR> CString trFileFullPath=CurWorkDirectory+"\\diskid32.dat";<BR> if(file.Open(strFileFullPath,CFile::modeRead|CFile::typeBinary,NULL)!=0)<BR> {<BR> file.Read(m_data,sizeof(m_data)); <BR> file.Close();<BR> }<BR> else return 0;<BR><BR> 其中,CurWorkDirectory是前面已经获得的当前工作目录,为CString类型;m_data为前面定义的字符数组(char m_data[10][80])。<BR><BR> 问题,这个程序只要放在任何目录中均能运行成功,但放在任何盘符的根目录下,就运行失败,错误提示是访问一个未命名文件,被拒绝。查看表明,其中的临时文件已经形成,并且其中的内容也正确。怎么在这种根目录下就无法访问了呢,而在其它任何目录中有可以访问呢?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:金鱼王 回复日期:2002-11-27 19:22:26
<br>内容:简单!就是因为你读取文件的路径不对,你检查一下在根目录时文件路径是什么?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:金枪鱼 回复日期:2002-11-28 10:00:20
<br>内容:谢谢金鱼王提醒。<BR><BR>我原来想通过GetCurrentDirectory函数返回的规格应该是一致的,哪知在不同的地方,它返回的不同,在根目录下已经带上一个"\".<BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:金鱼王 回复日期:2002-11-28 11:00:41
<br>内容:那是当然的了,用GetModuleFileName比较保险!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -