我想加載文件,以前我使用的是硬編碼的文件位置(如「c:\ location \ file.txt」),但現在有幾個朋友也在使用文件,我想讓他們把可執行文件放在任何他們想要的地方。在當前目錄中打開文件
我當前的代碼看起來像:
ifstream myfile;
myfile.open("c:\\client\\settings.cfg");
我試圖讓用戶將他們的可執行文件到任何他們想要的文件夾中更改它,然後他們創建一個文件夾,並把自己的設置文件進去和exe將加載與他們的設置。
ifstream myfile;
myfile.open("\\settings\\settings.cfg");
我有一些基本的錯誤處理到位,現在程序總是出錯,說它找不到文件。
文件結構如下所示:
[ART]
asset.png
[SETTINGS]
settings.cfg
client.exe
這似乎是一個很簡單的事情,但我找不到任何辦法做到這一點。關於讀取和寫入文件的每個示例和教程僅處理可執行文件目錄中的文件,或硬編碼到c:\文件夾中...
任何人都可以指出我如何做到這一點?
This Works!謝謝! – user2827019
@ user2827019正如我在我的回答中所提到的,這與可執行文件的目錄無關。它只相對於用戶的當前目錄。如果用戶從其目錄中啓動可執行文件,它只會匹配可執行文件的目錄。 –
@ user2827019:沒問題。需要注意的一點是它基於*工作目錄*,而不是可執行目錄。因此,如果他們創建快捷方式並更改工作目錄(Windows快捷方式的「開始」文件夾),它將嘗試查看。 –