您好,登錄后才能下訂單哦!
小編給大家分享一下linux下如何獲取當前工作路徑,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
獲取工作路徑這里介紹兩種方法:
1.使用getcwd()函數。
頭文件:#include <unistd.h>
定義函數:char * getcwd(char * buf, size_t size);
函數說明:getcwd()會將當前的工作目錄絕對路徑復制到參數buf 所指的內存空間,參數size 為buf 的空間大小
實例:
void getPath() { char pPath[256] = {0}; getcwd(buf, 256); printf("filePath: %s\n", pPath); }
主函數調用此函數運行結果:
filePath: /home/myTest
2.使用readlink()函數。
頭文件:#include <unistd.h>
函數定義:int readlink(const char *path, char *buf, size_t bufsiz);
函數說明:此函數會將參數path的符號連接內容到參數buf所指的內存空間,返回的內容不是以NULL作字符串結尾,但會將字符串的字符數返回。若參數bufsiz小于符號連接的內容長度,過長的內容會被截斷。成功返回buf長度,失敗返回 -1.
實例:
void getPath() { char pPath[256] = {0}; int ret = -1; ret = readlink("/proc/self/exe", pPath, 256); pPath[ret] = "\0" printf("the file Path: %s\n", pPath); } int main() { getPath(); }
運行結果:
the file Path: /home/myTest/a.out
Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。
以上是“linux下如何獲取當前工作路徑”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。