寫檔案時最好使用絕對路徑, 而不使用相對路徑

2021-05-27 20:57:03 字數 412 閱讀 9606

因為在程式中如果你使用如下方法寫檔案的話:

std::ofstream out("cache.txt");

out << "test" << std::endl;

out.close();

一般情況下, 它會寫到當前應用程式所在目錄, 但是如果在程式的某個地方, 調了setcurrentdirectory("e:\\"); 那麼當調到上面的**時就會將檔案寫到e:\\cache.txt, 這一般不是自己所期望的事。總結:獲取當前exe所在的的絕對路徑, 使用函式getmodulefilename:

#include

string get_current_exe_path()

else

return string("");

然後再利用這個函式的返回值, 得到上層目錄即可。

絕對路徑 相對路徑 檔案讀寫路徑

一 絕對路徑 能完整描述檔案在磁碟上的位置 1 完整的磁碟路徑 f test a.txt 存在於f盤test資料夾下的a.txt檔案 2 完整的url路徑 也是乙個絕對路徑,網域名稱會指向磁碟的乙個目錄 原博二 相對路徑 首先要確定乙個路徑參考點,其他檔案都是相對於當前檔案位置來確定的。在檔案路徑拓...

「相對路徑」以及「絕對路徑」使用之坑

平時覺得 相對路徑 以及 絕對路徑 無所謂,想用什麼就用什麼,近期因為這個,吃了點虧。場景1 引用專案裡的公共方法資料夾的時候,用的是相對路徑,寫了一大堆.後來資料夾位置變動了,全報錯,關鍵是不同的地方引用的這個公共資料夾的.還不一樣,沒辦法,只能乙個乙個檔案去改了。要是引用的 絕對位置 那麼只要全...

移動檔案時相對路徑和絕對路徑的問題

長時間摸索的成果,用以記錄自用 相對路徑和絕對路徑的區別 1.相對路徑 有參照檔案 上一級目錄 當前目錄 大多數情況下可忽略 2.絕對路徑 無參照檔案 以 開頭,可以是當前 根目錄下的路徑,或者url 移動檔案 1.其中songs為 根目錄之後的一級目錄,當前的list.php在songs目錄下,在...