作者visor (~~~~~~~~~~)
看板C_and_CPP
標題Re: [問題] linux上取得程式的絕對路徑
時間Fri May 17 16:29:34 2013
※ 引述《ireullin (raison detre)》之銘言:
: 請問各位
: 如何在linux取得執行的程式的絕對路徑
: 如果透過 main(int argc, char** argv) 中的argv[0]
: 得到的是你當初下的命令
: 如果使用getcwd 則是你下命令時的路徑
: 請問還有甚麼方式可以納到執行程式所在位置的絕對路徑
char buf[1024];
char linkname[64];
pid_t pid = getpid();
snprintf(linkname, sizeof(linkname), "/proc/%d/exe", pid);
ret = readlink(linkname, buf, sizeof(buf));
char *abspath = dirname(buf);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.248.79
※ 編輯: visor 來自: 203.73.248.79 (05/17 16:31)
→ diabloevagto:不用雙斜線? 05/17 20:51
推 Bencrie:為啥要雙斜線?又不是 \\ XD 05/17 22:48
→ lantw44:直接 /proc/self/exe ? 05/17 23:42