獲取工作路徑這里介紹兩種方法:
1.使用getcwd()函數(shù)。
頭文件:#include unistd.h>
定義函數(shù):char * getcwd(char * buf, size_t size);
函數(shù)說(shuō)明:getcwd()會(huì)將當(dāng)前的工作目錄絕對(duì)路徑復(fù)制到參數(shù)buf 所指的內(nèi)存空間,參數(shù)size 為buf 的空間大小
實(shí)例:
void getPath()
{
char pPath[256] = {0};
getcwd(buf, 256);
printf("filePath: %s\n", pPath);
}
主函數(shù)調(diào)用此函數(shù)運(yùn)行結(jié)果:
2.使用readlink()函數(shù)。
頭文件:#include unistd.h>
函數(shù)定義:int readlink(const char *path, char *buf, size_t bufsiz);
函數(shù)說(shuō)明:此函數(shù)會(huì)將參數(shù)path的符號(hào)連接內(nèi)容到參數(shù)buf所指的內(nèi)存空間,返回的內(nèi)容不是以NULL作字符串結(jié)尾,但會(huì)將字符串的字符數(shù)返回。若參數(shù)bufsiz小于符號(hào)連接的內(nèi)容長(zhǎng)度,過(guò)長(zhǎng)的內(nèi)容會(huì)被截?cái)?。成功返回buf長(zhǎng)度,失敗返回 -1.
實(shí)例:
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();
}
運(yùn)行結(jié)果:
the file Path: /home/myTest/a.out
以上這篇linux 下獲取當(dāng)前工作路徑的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Linux中shell腳本獲取當(dāng)前工作目錄的方法
- bash獲取當(dāng)前路徑示例
- Shell中獲取腳本所在目錄絕對(duì)路徑的方法