Where to place file in order to read?

2019-02-24 09:20发布

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.

4条回答
Emotional °昔
2楼-- · 2019-02-24 09:34

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.

查看更多
神经病院院长
3楼-- · 2019-02-24 09:44

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.

查看更多
冷血范
4楼-- · 2019-02-24 09:46

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.

查看更多
一夜七次
5楼-- · 2019-02-24 09:56

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

查看更多
登录 后发表回答