Re: [問題] linux上取得程式的絕對路徑

看板C_and_CPP作者 (~~~~~~~~~~)時間12年前 (2013/05/17 16:29), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《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)

05/17 20:51, , 1F
不用雙斜線?
05/17 20:51, 1F

05/17 22:48, , 2F
為啥要雙斜線?又不是 \\ XD
05/17 22:48, 2F

05/17 23:42, , 3F
直接 /proc/self/exe ?
05/17 23:42, 3F
文章代碼(AID): #1HbUfoNp (C_and_CPP)
文章代碼(AID): #1HbUfoNp (C_and_CPP)