嘿,我在哪里放置我试图使用 fstream 读取的文本文件?在本教程中,http://www.gamedev.net/reference/articles/article1127.asp,他们说
ifstream fin("input.txt");
“input.txt”在哪里?在我尝试通过执行此“C:\Users\XXXXXXX\Documents\test.in”来指向文件的路径之前。然而,这似乎不起作用,使用 fstream 输入不正确的数据。
我正在使用代码块。
提前致谢。
嘿,我在哪里放置我试图使用 fstream 读取的文本文件?在本教程中,http://www.gamedev.net/reference/articles/article1127.asp,他们说
ifstream fin("input.txt");
“input.txt”在哪里?在我尝试通过执行此“C:\Users\XXXXXXX\Documents\test.in”来指向文件的路径之前。然而,这似乎不起作用,使用 fstream 输入不正确的数据。
我正在使用代码块。
提前致谢。
input.txt 应该在工作目录中。通常工作目录是包含可执行文件的目录。在 Visual Studio 的情况下,可以在调试选项中设置在调试器中运行时的工作目录。
这取决于您的系统,但在大多数情况下,如果您使用相对路径打开文件,它将找到相对于进程工作目录的文件(即相对于您启动程序的位置)。
因此,如果您只是尝试打开“input.txt”,它可能会在您启动程序的目录中查找。
我仍然会说指定路径而不是依赖当前的工作目录(尽管由于某种原因它以前对你不起作用)。
试试看: ifstream fin("C:/MyDir1/MyDir2/input.txt");
或者那个: ifstream fin("C:\MyDir1\MyDir2\input.txt");
还要确保您的程序(运行它的帐户)至少对该文件具有读取权限。
如果您仍然对 Code::Blocks 感兴趣,您需要修改Target Properties
,转到Project -> Properties -> Build targets
并更改Executing Working Dir
项目的 debug/release 文件夹