-1
我有以下文件夾結構: /代碼 /文件 (即,「文件」文件夾中存在「代碼」文件夾中) 我嘗試使用fstream的像這樣創建一個文件(在寫):創建文件有
ofstream out("\files\plsmap.txt");
編譯器不給任何錯誤,但是,被在「文件」文件夾中創建任何文件。這可能是什麼原因,還有,還有其他的方式嗎?
我有以下文件夾結構: /代碼 /文件 (即,「文件」文件夾中存在「代碼」文件夾中) 我嘗試使用fstream的像這樣創建一個文件(在寫):創建文件有
ofstream out("\files\plsmap.txt");
編譯器不給任何錯誤,但是,被在「文件」文件夾中創建任何文件。這可能是什麼原因,還有,還有其他的方式嗎?
你寫了「\ files \ plsmap.txt」。前導斜槓指定整個文件系統的根目錄。所以「\ files」與「\ code \ files」非常不同。您可以嘗試刪除前導斜槓或更改字符串,以使其包含您嘗試寫入的目錄的完整絕對路徑。您可以通過在終端中運行該目錄中的pwd
來計算目錄的絕對路徑。
除了錯位的斜線,另外一點需要注意的是,反斜槓是內部C++字符串中的特殊,他們需要使用時,你在你寫C他們第二次反斜槓轉義++源代碼:
const char * path = "code\\plsmap.txt";
您的環境可能允許您使用正斜槓代替,這會更容易,因爲它們不需要轉義。
現在有一個確切的重複接收器這些問題 - https://stackoverflow.com/questions/28328052/why-do-i-have-to-use-double-backslashes-for-file-paths-in-碼。它們可以標記爲該問題的重複項。 – sashoalm 2015-02-05 15:59:08