c 獲取相對路徑

2021-06-16 22:01:39 字數 1182 閱讀 8638

//////

獲取路徑2相對於路徑1的相對路徑

//////路徑1

///路徑2

///返回路徑2相對於路徑1的路徑

///

///string strpath = getrelativepath(@"c:/windows/system32", @"c:/windows/system/*.*" );

/////strpath == @"../system/*.*"

///public

static

string getrelativepath(string strpath1, string strpath2)

if (!strpath1.endswith("\\")) strpath1 += "\\";    //如果不是以"/"結尾的加上"/"

int intindex = -1, intpos = strpath1.indexof("\\");

///以"/"為分界比較從開始處到第乙個"/"處對兩個位址進行比較,如果相同則擴充套件到

///while (intpos >= 0)

intpos++;

if (string.compare(strpath1, 0, strpath2, 0, intpos, true) != 0) break;

intindex = intpos;

intpos = strpath1.indexof("\\", intpos);

///如果從不是第乙個"/"處開始有不同,則從最後乙個發現有不同的"/"處開始將strpath2

///的後面部分付值給自己,在strpath1的同乙個位置開始望後計算每有乙個"/"則在strpath2

///的前面加上乙個"../"(經過轉義後就是"..//").

if (intindex >= 0)

strpath2 = strpath2.substring(intindex);

intpos = strpath1.indexof("\\", intindex);

while (intpos >= 0)

strpath2 = "..//" + strpath2;

intpos = strpath1.indexof("\\", intpos + 1);

//否則直接返回strpath2

return strpath2.replace("\\","/");

c 獲取相對路徑

一 獲取當前檔案的路徑 1.system.diagnostics.process.getcurrentprocess mainmodule.filename 獲取模組的完整路徑,包括檔名。2.system.environment.currentdirectory 獲取和設定當前目錄 該程序從中啟動的...

c 獲取相對路徑

一 獲取當前檔案的路徑 1.system.diagnostics.process.getcurrentprocess mainmodule.filename 獲取模組的完整路徑,包括檔名。2.system.environment.currentdirectory 獲取和設定當前目錄 該程序從中啟動的...

c 獲取相對路徑

一 獲取當前檔案的路徑 1.system.diagnostics.process.getcurrentprocess mainmodule.filename 獲取模組的完整路徑,包括檔名。2.system.environment.currentdirectory 獲取和設定當前目錄 該程序從中啟動的...