獲取工作路徑這里介紹兩種方法:
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 下獲取當前工作路徑的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答