tags:

views:

37

answers:

3

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, http://stackoverflow.com/questions/3095339/incorrect-data-input-with-fstream.

I'm using CodeBlocks.

Thanks in advance.

+1  A: 

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.

James McNellis
+2  A: 

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.

dauphic
A: 

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.

DmitryK