Deckdyl
Deckdyl

Reputation: 103

How do i create a file in a sub directory in C++?

Here is my code, how do i create a file in the sub directory contacts? Every time the file is created, it appears in the same directory as my program.

int main(){
ofstream myfile("\\contacts");
myfile.open ("a");
myfile.close();
}

Upvotes: 2

Views: 10993

Answers (2)

hmjd
hmjd

Reputation: 121971

Specify the full path in the constructor:

ofstream myfile(".\\contacts\\a"); // or just "contacts/a"
if (myfile.is_open())
{
}

The posted code attempts to create a file called "\\contacts" and then another file called "a".

Note:

  • that ofstream will not create intermediate directories: "contacts" must exist prior to the use of the ofstream.
  • the destructor will close the ofstream so it is unnecessary to explicitly call myfile.close().

Upvotes: 6

susomena
susomena

Reputation: 133

If you write the file path as "a" you are saving it in the same directory as the program. If you want it in the contacts directory (which will be in the the program's directory) you must write the path of the file. This directory will be /contacts/a, so your code should be:

    int main(){
        ofstream myfile("\\contacts\\a");
        myfile.close();
    }

Upvotes: 0

Related Questions