Linux 獲取當前目錄

2021-06-02 06:01:30 字數 785 閱讀 7818

**:

兩種方法:

1. 利用getcwd()函式取得當前工作目錄(相當於windows下的getcurrentdirectory)

2. 取得實際檔案目錄(相當於windows下的getmodulefilename())

原理:每個程序在/proc下都有乙個以程序號命名的目錄。

在該目錄下有exe檔案,該檔案是乙個鏈結檔案,它指向的路徑就是該程序的全路徑.

readlink()讀exe檔案返回該程序的全路徑

如果不在意可能導致的安全隱患,可以使用procfs,然後readlink,把當前程序的pid對應的目錄下面的file指向的位置讀出來(注意需要先掛載procfs)

pit_t mypid = getpid(); 

sprintf(strsrc, "/proc/%d/file", mypid); 

readlink(strsrc, strdest, len);//len最好是你的_posix_path_max

所以,如果支援/proc檔案系統,下面的**可以解決你的問題: 

#include #include #include #ifndef path_max

#define path_max 1024

#endif

char * get_exe_name()

buf[rslt]=0;

return buf;}

int main( void)

linux下獲取當前目錄

1.取得當前工作目錄 相當於windows下的getcurrentdirectory include stdio.h include stdlib.h include string.h include unistd.h int main else return 0 2.取得實際檔案目錄 相當於win...

獲取當前目錄

tchar exefullpath max path getmodulefilename getmodulehandle null exefullpath,max path tcsrchr exefullpath,t 1 0 這是一段獲得程式當前目錄的一段 這段 很簡單,唯一有點難度的就是最後一句 ...

C 獲取當前目錄

答案一答案二 獲取新的 process 元件並將其與當前活動的程序關聯的主模組的完整路徑,包含檔名 程序名 string str system.diagnostics.process.getcurrentprocess mainmodule.filename result x exe exe檔案所在...