Hey, where do I place a text file that I'm trying to read using fstream? In this tutorial, http://www.gamedev.net/reference/articles/article1127.asp, they say
ifstream fin("input.txt");
where would "input.txt" be located? Before I tried directing a path to the file by doing this "C:\Users\XXXXXXX\Documents\test.in". This however does not seem to work, Incorrect data input with fstream.
I'm using CodeBlocks.
Thanks in advance.
input.txt should be in the working directory. Usually the working directory is the directory containing the executable. In the case of Visual Studio, the working directory when run in the debugger can be set in the Debug options.
It depends on your system, but in most cases, if you open a file with a relative path, it will find the file relative to the working directory of the process (i.e., relative to the location from which you started the program).
So, if you simply try to open "input.txt" it will likely look in the directory from which you started the program.
I would still say specify path instead of relying on current working directory (although for some reason it didn't work for you before).
Try that:
ifstream fin("C:/MyDir1/MyDir2/input.txt");
or that:
ifstream fin("C:\MyDir1\MyDir2\input.txt");
Also make sure that your program (account it runs under) has at least Read permission for this file.
if you have still interest in Code::Blocks you need to modify the Target Properties
, go to Project -> Properties -> Build targets
and change the Executing Working Dir
for the debug/release folder of your project