I moved from Windows to Mac and now I’m experiencing a problem with the file input/output classes: ifstream & ofstream.
In Windows when you run with g++/Code Blocks
ofstream out("output.txt");
out << "TEST";
out.close();
A new file “output.txt” will be created in the same directory.
However in MAC OS X, this file is created in my home directory: /Users/USER_NAME/output.txt
How can I have this file in the same directory together with the executable?
P.S. I’m using GCC and CodeBlocks. There are no projects – I’m just compiling a single source file.
The stream classes, like all other file-opening functions, use the current directory when you provide a relative path. You can control the current directory with a function like
chdir, but a better solution is to use fully qualified file names. Then you remove your program’s dependency on the current directory.