1.採用getcurrentdirectory,用於獲取當前程序的當前目錄
2.getcwd獲取當前工作目錄,類似上一方法
#include
#include
char buffer[max_path]
;getcwd
(buffer, max_path)
;
執行得到"d:\《專案名》\《專案名》"
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)
;
執行得到 「d:\《專案名》\x64\debug」
如果需要獲取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"
);
1.採用getcurrentdirectory,用於獲取當前程序的當前目錄
2.getcwd獲取當前工作目錄,類似上一方法
獲取當前檔案路徑 當前工作目錄路徑
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 3.採用getmodulefilename,用於獲取所在...
學習筆記 C獲取當前工作路徑
有一些引數需要用檔案讀寫操作,需要製作dll,呼叫時需要路徑的適應性,獲取dll所在路徑,獲得當前exe可執行檔案所在的路徑。用 getcurrentdirectory 或者 getcwd 只能獲得當前工作路徑。如果 中對其他資料夾中的檔案操作時,則路徑不符合了。一 獲得當前工作路徑 char sz...