C++ 如何在C+;中的子目录中创建文件+;?

C++ 如何在C+;中的子目录中创建文件+;?,c++,ofstream,C++,Ofstream,这是我的代码,如何在子目录contacts中创建文件?每次创建文件时,它都会显示在与我的程序相同的目录中 int main(){ ofstream myfile("\\contacts"); myfile.open ("a"); myfile.close(); } 在构造函数中指定完整路径: ofstream myfile(".\\contacts\\a"); // or just "contacts/a" if (myfile.is_open()) { } 发布的代码试图创建一个名为“\\

这是我的代码,如何在子目录contacts中创建文件?每次创建文件时,它都会显示在与我的程序相同的目录中

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

在构造函数中指定完整路径:

ofstream myfile(".\\contacts\\a"); // or just "contacts/a"
if (myfile.is_open())
{
}
发布的代码试图创建一个名为
“\\contacts”
的文件,然后创建另一个名为
“a”
的文件

注:

  • 流的
    不会创建中间目录:
    在使用流的
    之前,必须存在“联系人”
  • 析构函数将关闭流的
    ,因此无需显式调用
    myfile.close()

如果将文件路径写为“a”,则将其保存在与程序相同的目录中。如果您希望它位于contacts目录(将位于程序的目录中),则必须写入文件的路径。此目录将为/contacts/a,因此您的代码应为:

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

只是提醒一下-给出的解决方案是windows解决方案,而不是linux解决方案,请参阅