ExtractRelativePath - C++ Builder

C++ Builder 參考手冊 ? System::Sysutils ? ExtractRelativePath


獲取相對路徑,第二個路徑相對于第一個路徑的位置

頭文件:#include <System.SysUtils.hpp>
命名空間:System::Sysutils
函數(shù)原型:

System::UnicodeString __fastcall ExtractRelativePath(const System::UnicodeString BaseName, const System::UnicodeString DestName);

參數(shù):

  • BaseName 路徑和文件名,字符串;如果 BaseName 是文件夾名,字符串末尾必須有路徑分隔符 \ 或 /,路徑分隔符由全局變量 System::Sysutils::PathDelim 保存,不同的操作系統(tǒng)分隔符可能不同;如果字符串末尾沒有分隔符,認為是文件名而不是文件夾名;
  • DestName 路徑和文件名,字符串;

返回值:

  • 獲取相對路徑,DestName 相對于 BaseName 的位置;
  • 如果 BaseName 末尾有路徑分隔符,認為是文件夾名,返回 DestName 相對于這個文件夾的位置;
  • 如果 BaseName 末尾沒有路徑分隔符,認為是文件名,返回 DestName 相對于這個文件所在文件夾的位置;
  • D:\Hsuanlu\Documents\test.txt 相對于 D:\Hsuanlu\Programs\ 的位置為 Programs 文件夾上一級 (即 D:\Hsuanlu\ 文件夾) 里面的 Documents 文件夾里面,所以函數(shù)返回 ..\Documents\test.txt
  • D:\Hsuanlu\Documents\test.txt 相對于 D:\Hsuanlu\Programs 的位置為 Programs 文件 所在文件夾 (即 D:\Hsuanlu\ 文件夾) 里面的 Documents 文件夾里面,所以函數(shù)返回 Documents\test.txt

例子:獲取應(yīng)用程序的路徑

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Memo1->Lines->Add(Sysutils::ExtractRelativePath(L"D:\\Hsuanlu\\Programs\\", L"D:\\Hsuanlu\\Documents\\test.txt"));
    Memo1->Lines->Add(Sysutils::ExtractRelativePath(L"D:\\Hsuanlu\\Programs", L"D:\\Hsuanlu\\Documents\\test.txt"));
}

運行結(jié)果:

運行結(jié)果

相關(guān):


C++ Builder 參考手冊 ? System::Sysutils ? ExtractRelativePath

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容