絕對路徑 相對路徑的獲取

2021-10-05 09:57:47 字數 2037 閱讀 7677

呼叫函式:getmodulefilename,返回當前程序的映象檔案(.exe)所在的目錄。 較為穩妥且移植性較好。

函式原型:

函式功能: 此函式得到當前應用程式的執行目錄,還包括應用程式的檔名。

引數:hmodule: handle to module 要獲取檔名的模組控制代碼。null表示當前模組;

lpfilename:path buffer 存放取得的檔名;

nsize: size of buffer 引數的長度

**:

tchar exefullpath[max_path]

;//定義乙個tchar型別的陣列,陣列名為exefullpath,長度為max_path

getmodulefilename

(null

,exefullpath,max_path)

;// 獲取當前應用程式的路徑..\\projects\\test\\debug\\test.exe

*_tcsrchr

(exefullpath,

'\\')=

0;// 去掉可執行檔名\\test.exe

cstring strexepath = exefullpath;

// exe所在的路徑 ..\\projects\\test\\debug

*_tcsrchr

(exefullpath,

'\\')=

0;// 再去掉一段\\debug

cstring strparentpath = exefullpath;

// exe所在的路徑的父資料夾..\\projects\\test

呼叫函式:getcurrentdirectory,只是返回作業系統的當前目錄。若在應用程式中呼叫了開啟檔案對話方塊,你選擇了乙個檔案,這個檔案所在的目錄就成了作業系統的當前目錄了。

函式原型:

函式功能:找到當前程序的當前目錄 。

引數:nbufferlength:size of directory buffer 緩衝區的長度;

lpbuffer:directory buffer 指定乙個預定義字串,用於裝載當前目錄

返回值 :呼叫成功 返回裝載到lpbuffer的位元組數。

如nbufferlength的長度不夠,不足以容納目錄,則返回值是必要的緩衝區長度(要求至少這個長度),其中包括空中止字元。零表示失敗。使用getlasterror函式可獲得錯誤資訊。

**:

tchar path[max_path]

;//定義乙個tchar型陣列,陣列名exefullpath,陣列大小max_pathif(

!getcurrentdirectoryw

(max_path, path)

)//獲取當前路徑,儲存在path中,..\\projects\\test\\test

cstring strpath

(path)

; strpath +=_t

("\\debug\\*.txt");

//..\\projects\\test\\test\\debug\\*.txt

tchar *path =

new tchar[max_path]

;zeromemory

(path, max_path)

;getcurrentdirectory

(max_path, path)

;// path =="d:\projects\test\mfc\mfc\debug"

getmodulefilename

(null

,path,max_path)

;// path =="d:\projects\test\mfc\debug\mfc.exe"

用"/"來表示根目錄,「…/」來表示上一級目錄,「…/…/」表示上上級的目錄,以此類推

相對路徑絕對路徑

前兩天突然發現自己一直以來對相對路徑絕對路徑的理解都是錯的,於是趕緊查了相關資料。1.絕對路徑 絕對路徑是指檔案在硬碟上真正存在的路徑。例如 bg.jpg 這個是存放在硬碟的 e book 網頁布局 第2章 目錄下,那麼 bg.jpg 這個的絕對路徑就是 e book 網頁布局 第2章 bg.jpg...

絕對路徑 相對路徑

一 基本概念 1 相對路徑 相對於當前檔案的路徑。網頁中表示路徑一般使用這個方法。二 相對路徑常見的寫法 代表目前所在的目錄。開頭 代表根目錄。根目錄下有test1資料夾和image image1.jpg,test1下有index1.html檔案和test2資料夾。test2資料夾下有index2....

C 相對路徑轉絕對路徑,絕對路徑轉相對路徑

絕對轉相對似乎c 沒有提供實現,需要自己寫,這裡摘選了一位博友的實現方法 string relativepath string absolutepath,string relativeto relativepath 呼叫 static void main string args 可以直接用.net自...