2013-10-12 846 views
0

比方說,我想創建一個文件,我的項目文件夾位於我的桌面上的文件夾內。我如何使用ofstream在我的桌面上創建一個文件?C++ - 使用ofstream在不同的目錄中創建文件?

+0

答案在你的問題;使用'std :: ofstream'。對於'std :: ofstream'來說,邏輯中沒有任何魔術巫術與其他文件創建機制不同。您需要一個有效的文件夾路徑和寫入權限;就像任何其他機制一樣。 – WhozCraig

+0

使用相對路徑? –

回答

1

看來您的問題可能會重新設定爲「我如何在操作系統中獲取桌面路徑?」

一旦你有了它,只需將它加入你的文件名,然後使用ofstream。沒有祕密!

ofstream file; 
file.open(YOUR_FULL_PATH_HERE, ios::binary); // suppose here you want binary! 
// write your stuff here... 
file.close(); 

您獲取桌面路徑的方式取決於操作系統。例如,在Windows中,您可以使用SHGetSpecialFolderPath(CSIDL_DESKTOP),但在Linux或Mac OS X中,您必須檢查它是如何完成的(可能getenv("HOME")足以讓您從主目錄中爲這些「基於UNIX」的案例獲取桌面)。

+0

爲什麼'ios :: binary'? OP沒有提供任何關於他想寫入這個文件的細節。 – LihO

+0

這只是一個例子...我將在這裏編輯... –

+0

@LihO:的確如此。那爲什麼不呢? – hauzer