GB | BIG5
|
| 首頁 > 編程技術 > C/C++ > 正文 |
 |
| 一個執行中的程式如何知道自己的 pathname? |
| Steve Hayman (2001-04-19 10:46:06) |
若果 argv[0] 是以 "/" 開始的字,它可能就是你的程式所在地的絕對路徑。
如果不是那就得照順序檢查 PATH 裡的每一個目錄看看裡面是否有與 argv[0]
一樣的程式。如果找得到的話將那個目錄與程式名稱兜起來可能就是你要的
pathname 了。
不過上述方法找到的並不一定是正確的,因為在程式中用到 exec() 時,
argv[0] 是可以隨便給的。將 argv[0] 設為與要執行的程式名稱相同只是一
種慣用法罷了!
以下的例子可能會使你更清楚些:
#include
main()
{
execl("/usr/games/rogue", "vi Thesis", (char *)NULL);
}
這個被執行的程式就會認為它的名字(argv[0] 之值)是 "vi Thesis")。
(http://www.fanqiang.com)
進入【UNIX論壇】
|
|
| 相關文章 |
|
====== |
|
|
 |
★ 樊強制作 歡迎分享 ★ |