**:
兩種方法:
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檔案所在...