C++ Builder 參考手冊 ? System::Sysutils ? GetCurrentDir
獲取當(dāng)前路徑
頭文件:#include <System.SysUtils.hpp>
命名空間:System::Sysutils
函數(shù)原型:
System::UnicodeString __fastcall GetCurrentDir(void);
參數(shù):
- 無况凉;
返回值:
- 當(dāng)前文件夾的完整路徑谴返;
- 當(dāng)前路徑的默認(rèn)位置并不總是 exe 文件所在的文件夾:
? 通過修改快捷方式的 "起始位置" 屬性,通過這個(gè)快捷方式運(yùn)行得到的是快捷方式的起始位置;
? 通過命令行窗口運(yùn)行 exe 文件喻鳄,是命令行窗口的當(dāng)前路徑;
? 通過父進(jìn)程創(chuàng)建子進(jìn)程的方式并思,是父進(jìn)程的當(dāng)前路徑档冬;
? 通過函數(shù) SetCurrentDir 設(shè)置,當(dāng)前路徑設(shè)置在哪就在哪…… - 標(biāo)準(zhǔn) C++ 的 <dir.h> 里面有相同功能的函數(shù):
? 設(shè)置當(dāng)前路徑:chdir, _wchdir, _tchdir
? 獲取當(dāng)前路徑:getcwd, _wgetcwd, _tgetcwd
例:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Lines->Add(GetCurrentDir());
}
程序編譯之后薪夕,生成的 exe 文件在這里:
D:\Hsuanlu\Programs\System.Sysutils\Functions\GetCurrentDir\Win64\Debug
直接點(diǎn)擊運(yùn)行脚草,或者從資源管理器里面直接雙擊運(yùn)行,得到的是 exe 所在文件夾原献,結(jié)果截圖如下:
給這個(gè) exe 文件創(chuàng)建一個(gè)快捷方式馏慨,修改快捷方式的屬性當(dāng)中的 "起始位置" 為 "C:\ProgramData",通過這個(gè)快捷方式運(yùn)行這個(gè) exe 文件或得到當(dāng)前路徑為快捷方式的起始位置姑隅,即 "C:\ProgramData"写隶,截圖如下:
修改快捷方式的起始位置只影響通過這個(gè)快捷方式運(yùn)行,如果直接雙擊 exe讲仰,或者通過其他方式運(yùn)行慕趴,將不受影響,繼續(xù)測試:打開命令行窗口,在 C:\Users\Public\Documents 文件夾冕房,并且在這個(gè)文件夾里面輸入并且直接執(zhí)行 "D:\Hsuanlu\Programs\System.Sysutils\Functions\GetCurrentDir\Win64\Debug\Sysutils_GetCurrentDir.exe"
打開 exe 文件躏啰,得到的當(dāng)前路徑為 "C:\Users\Public\Documents",截圖如下:
通過命令行窗口運(yùn)行 exe 文件得到的當(dāng)前路徑是命令行窗口的當(dāng)前路徑耙册,而不是 exe 文件所在文件夾给僵。
相關(guān):
- System::Sysutils::GetCurrentDir
- System::Sysutils::SetCurrentDir
- System::Sysutils::CreateDir
- System::Sysutils::ForceDirectories
- System::Sysutils::RemoveDir
- System::Sysutils::FileExists
- System::Sysutils::DirectoryExists
- System::Sysutils::FileSearch
- System::Sysutils::FindFirst
- System::Sysutils::FindNext
- System::Sysutils::FindClose
- System::Sysutils::FileAge
- System::Sysutils::FileGetDate
- System::Sysutils::FileGetDateTimeInfo
- System::Sysutils::FileSetDate
- System::Sysutils::FileGetAttr
- System::Sysutils::FileSetAttr
- System::Sysutils::FileIsReadOnly
- System::Sysutils::FileSetReadOnly
- System::Sysutils::DeleteFile
- System::Sysutils::RenameFile
- System::Sysutils::IsAssembly
- System::Sysutils::DiskFree
- System::Sysutils::DiskSize
- System::Sysutils::FileDateToDateTime
- System::Sysutils::DateTimeToFileDate
- System::Sysutils
- System::Ioutils::TDirectory::GetCurrentDirectory
- System::Ioutils::TDirectory::SetCurrentDirectory
- System::Ioutils
- getcwd, _wgetcwd, _tgetcwd
- chdir, _wchdir, _tchdir
- <dir.h>
C++ Builder 參考手冊 ? System::Sysutils ? GetCurrentDir