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...