【发布时间】:2013-03-05 12:54:34
【问题描述】:
我正在运行一个从文件中读取文本的 exe,该文件与 exe 保存在同一目录中。 我正在使用 _tfopen 函数,它返回 errno 2,这意味着文件丢失。 如前所述,文本文件与 exe 位于同一目录中,因此我仅使用文本文件的文件名而不是整个路径(即使我尝试使用绝对文件路径......)。 我在另一台计算机上运行 exe,而不是我正在开发的计算机(发行版)。
另一个使用相同文件的应用程序,也在同一目录中,运行良好。
为什么exe找不到文本文件?
FILE* fileData;
if ((fileData = _tfopen(_T("Data.txt"), _T("r"))) == NULL)
return false;
【问题讨论】:
-
exe放在哪里都没有关系。当前目录是什么?
-
在VS2010中设置为项目目录,但是我在另一台电脑上运行这个exe,文本文件在同一目录下。
-
希望你的程序不调用chdir,它会改变进程的工作目录。除了给出exe的完整路径,你能不能给出要打开的文件的完整路径,它会清楚你的程序是否调用chdir。