當前路徑獲取的問題

2021-06-04 00:40:47 字數 992 閱讀 5450

函式:

dword getcurrentdirectory(

dword nbufferlength, // size, in characters, of directory buffer

lptstr lpbuffer // pointer to buffer for current directory

);

獲得可執行檔案當前路徑,使用過程中可能會出現這樣的問題:當軟體執行過程中操作了其他路徑下的檔案,而此函式得到的不是可執行檔案的當前路徑,而是最後乙個被操作過的檔案的路徑;例如:可執行檔案在d:\123\215.exe,軟體最後一次操作的檔案在e:\682\324.txt,最後得到的路徑則會是e:\682\。

當然出現的這樣的問題不是我們想要的結果,問題總是有辦法解決的;

函式:

dword getmodulefilename(

hmodule hmodule, // handle to module to find filename for

lptstr lpfilename, // pointer to buffer to receive module path

dword nsize // size of buffer, in characters

);

此函式可以獲得當前執行檔案的全路徑,例如:直接可以得到d:\123\215.exe,雖然多出了個礙事的215.exe可執行檔名,只要我們去掉它,就是我們想要的路徑d:\123\;

tchar dirbuf[max_path];

lptstr lpcurdir;

lpcurdir=dirbuf;

getmodulefilename(null,lpcurdir,max_path); //獲取可執行檔案的全路徑

cstring logname(lpcurdir);

獲取當前路徑的問題

關於獲取當前路徑的問題 在開發軟體裡,常常碰到要讀取當前目錄下的配置引數檔案,或者開啟當前目錄下別的程式來執行,那麼就需要獲取當前程序的目錄位置,主要有兩個函式來實現 1.函式getcurrentdirectory獲取當前程序所有在的目錄。同時也可以使用setcurrentdirectory函式來改...

C C 獲取當前路徑

獲取當前工作目錄是使用函式 getcwd。cwd指的是 current working directory 這樣就好記憶了。函式說明 函式原型 char getcwd char buffer,int len 引數 buffer是指將當前工作目錄的絕對路徑copy到buffer所指的記憶體空間,len...

C C 獲取當前路徑

獲取當前工作目錄是使用函式 getcwd。cwd指的是 current working directory 這樣就好記憶了。函式說明 函式原型 char getcwd char buffer,int len 引數 buffer是指將當前工作目錄的絕對路徑copy到buffer所指的記憶體空間,len...