2015-06-20 158 views
0

我有一個程序,在整個過程中多次使用fstream保存到文件。它在微軟VS運行時效果很好,但是當我編譯一個版本,並將這個.exe加入我的桌面時,它不會寫入任何文件。C++ fstream混淆

ofstream save; 
save.open("Data\\options.scav"); 
/*Write stuff to file*/ 

這個工程在Visual Studio罰款,但如果我把它帶到我的桌面,甚至爲它創建Data文件夾,它不會寫。任何幫助,將不勝感激。

+0

請問,如果你刪除它的數據工作\\? –

+0

@AngusComber是的,它的確如此。 –

+1

然後你知道原因。如果Data文件夾不存在,請創建該文件夾。 –

回答

1

您無法寫入尚未創建的路徑。

這樣做:

// check Data folder exists 
ofstream save; 
save.open("Data\\options.scav"); 

注意,對於便攜性的理由,你也可以做到這一點(在Windows或Unix):

// check Data folder exists 
ofstream save; 
save.open("Data/options.scav");