呼叫函式: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自...