C 檔案操作 獲取當前工作路徑的幾種方法

2021-08-07 11:15:14 字數 1284 閱讀 7132

1.採用getcurrentdirectory,用於獲取當前程序的當前目錄

2.getcwd獲取當前工作目錄,類似上一方法

#include  #include  char   buffer[max_path];   

getcwd(buffer, max_path);

3.採用getmodulefilename,用於獲取所在exe/dll所在路徑下的目錄

tchar szpath[_max_path]=;

tchar szdrive[_max_drive]=;

tchar szdir[_max_dir]=;

tchar szfname[_max_fname]=;

tchar szext[_max_ext]=;

getmodulefilename(null,szpath,sizeof(szpath));

zeromemory(g_wszprogrampath,sizeof(g_wszprogrampath));

_wsplitpath_s(szpath, szdrive, szdir, szfname, szext);

wsprintf(g_wszprogrampath,_t("%s%s"), szdrive, szdir);

第二種獲取寫法

cstring path;   

getmodulefilename(null,path.getbuffersetlength(max_path+1),max_path);

path.releasebuffer();

int pos = path.reversefind('\\');

path = path.left(pos);

如果需要獲取dll所在路徑,則在getmodulefilename函式中第乙個引數傳入dll對應的module handle,

這個handle的獲取:將dllmain中的hinstdll儲存(可以用全域性變數儲存),然後作為第乙個引數傳給getmodulefilename

bool apientry dllmain( hmodule hmodule,

dword ul_reason_for_call,

lpvoid lpreserved

)

其中,hmodule可以通過如下方式獲取

hmodule h = getmodulehandle("testlibrary.dll");

獲取當前檔案路徑 當前工作目錄路徑

import os current dir os.path.abspath os.path.dirname file 當前檔案下的絕對路徑 print current dir 輸出 e weidian lc requestinfo current dir1 os.path.dirname file ...

C 檔案操作 獲取當前工作路徑的幾種方法

1.採用getcurrentdirectory,用於獲取當前程序的當前目錄 2.getcwd獲取當前工作目錄,類似上一方法 include include char buffer max path getcwd buffer,max path 執行得到 d 專案名 專案名 3.採用getmodule...

學習筆記 C獲取當前工作路徑

有一些引數需要用檔案讀寫操作,需要製作dll,呼叫時需要路徑的適應性,獲取dll所在路徑,獲得當前exe可執行檔案所在的路徑。用 getcurrentdirectory 或者 getcwd 只能獲得當前工作路徑。如果 中對其他資料夾中的檔案操作時,則路徑不符合了。一 獲得當前工作路徑 char sz...