程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 一起talk C栗子吧(第五十八回:C語言實例--獲取程序當前的工作路徑)

一起talk C栗子吧(第五十八回:C語言實例--獲取程序當前的工作路徑)

編輯:關於C語言

一起talk C栗子吧(第五十八回:C語言實例--獲取程序當前的工作路徑)


 

各位看官們,大家好,上一回中咱們說的是main函數參數的例子,這一回咱們說的例子是:獲取程序當前

的工作路徑。閒話休提,言歸正轉。讓我們一起talk C栗子吧!

 

我們在工作的時候,有時候需要獲取當前程序的工作路徑。看官們還記得咱們以前說過的Linux命令嗎?

在Linux命令中有一個叫作pwd的命令可以顯示當前的工作路徑。

 

下面我們做個演示:

打開終端,在當前工作路徑中輸入:pwd命令,然後敲下回車執行該命令,命令執行結果如下:

 

/home/talk8/CExample          // 顯示當前工作目錄

 

 

不知道看官們發現沒有,我們是在終端中執行pwd命令得到了當前的工作目錄,如果要是在C語言程序中想

得到當前的工作目錄,有什麼辦法呢?

 

辦法肯定是有的,我們可以通過execlp()函數來實現。execlp函數通過調用終端來執行傳遞給它的命令。

 

具體的用法:execlp(cmd,cmd,params,char *p).

其中cmd表示可以在終端中執行的命令;params 為cmd的參數.p通常不使用,將其賦值為0就可以;該函數有返回值,如果遇到終端不支持的命令,它會返回-1,表示不能執行該命令或者命令執行失敗。

 

除了上面的方法外,Linux系統還為我們提供了專門的API:getcwd.通過它,我們可以獲取當前的工作

目錄。

 

具體的用法:getcwd(char *buf,int size).

其中buf用來存放獲取到的工作路徑;size表示buf的大小。

 

看官們,正文中就不寫代碼了,詳細的代碼放到了我的資源中,大家可以點擊這裡下載使用。

 

下面是程序的運行結果,請大家參考:

 

./s              //在終端中運行程序
Current directory is :/home/talk8/CExample  //通過API得到當前工作目錄

./s pwd         //在終端中運行程序,第二個參數是pwd,表示讓程序執行pwd命令
/home/talk8/CExample           //通過execlp得到當前工作目錄

./s a           //在終端中運行程序,第二個參數是a,表示讓程序執行a命令
a: command not found.          //不能執行a命令

./s a a a      //在終端中運行程序,第2,3,4個參數都是a,表示讓程序執行a命令
two many params                //不能執行a命令


 

各位看官,關於獲取程序當前工作路徑的例子咱們就說到這裡。欲知後面還有什麼例子,且聽下回分解。


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved