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