2012-12-18 27 views
1

这是我的代码,我如何在子目录联系人中创建一个文件?每次创建文件时,它都会出现在与我的程序相同的目录中。如何在C++的子目录中创建文件?

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

回答

4

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

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

张贴的代码试图创建一个名为"\\contacts"文件,然后叫"a"另一个文件。

注:

  • ofstream不会创建中间目录:"contacts"必须存在使用ofstream之前。
  • 析构函数将关闭ofstream,因此不需要明确调用myfile.close()
+0

它的工作原理非常感谢。 – Deckdyl

+0

只是一个头 - 解决方案给出的是一个Windows解决方案,而不是一个Linux解决方案,请参阅http://stackoverflow.com/questions/23277681/created-file-in-subdirectory-but-cannot-open-file/23279191# 23279191 –

0

如果将文件路径写为“a”,则将其保存在与程序相同的目录中。如果你想在联系人目录中(它将在程序的目录中),你必须编写文件的路径。此目录将/ contacts/a,因此您的代码应为:

int main(){ 
     ofstream myfile("\\contacts\\a"); 
     myfile.close(); 
    } 
相关问题