4

嘿,我在哪里放置我试图使用 fstream 读取的文本文件?在本教程中,http://www.gamedev.net/reference/articles/article1127.asp,他们说

ifstream fin("input.txt");

“input.txt”在哪里?在我尝试通过执行此“C:\Users\XXXXXXX\Documents\test.in”来指向文件的路径之前。然而,这似乎不起作用,使用 fstream 输入不正确的数据

我正在使用代码块。

提前致谢。

4

4 回答 4

4

input.txt 应该在工作目录中。通常工作目录是包含可执行文件的目录。在 Visual Studio 的情况下,可以在调试选项中设置在调试器中运行时的工作目录。

于 2010-06-22T23:28:13.550 回答
1

这取决于您的系统,但在大多数情况下,如果您使用相对路径打开文件,它将找到相对于进程工作目录的文件(即相对于您启动程序的位置)。

因此,如果您只是尝试打开“input.txt”,它可能会在您启动程序的目录中查找。

于 2010-06-22T23:27:25.640 回答
0

我仍然会说指定路径而不是依赖当前的工作目录(尽管由于某种原因它以前对你不起作用)。

试试看: ifstream fin("C:/MyDir1/MyDir2/input.txt");

或者那个: ifstream fin("C:\MyDir1\MyDir2\input.txt");

还要确保您的程序(运行它的帐户)至少对该文件具有读取权限。

于 2010-06-23T00:10:53.947 回答
0

如果您仍然对 Code::Blocks 感兴趣,您需要修改Target Properties,转到Project -> Properties -> Build targets并更改Executing Working Dir项目的 debug/release 文件夹

于 2013-06-10T02:50:25.057 回答