2012-12-18 32 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(); 
    } 
相關問題