getwd輸出當前工作目錄絕對路徑
阿新 • • 發佈:2018-12-24
相關函式:get_current_dir_name, getwd, chdir
函式說明:getcwd()會將當前的工作目錄絕對路徑複製到引數buf 所指的記憶體空間,引數size 為buf 的空間大小. Lnux 中,buf 的長度至少可以為255 位元組
1、在呼叫此函式時,buf 所指的記憶體空間要足夠大。若工作目錄絕對路徑的字串長度超過引數size 大小,則返回NULL.
2、倘若引數buf 為NULL,getcwd()會依引數size 的大小自動配置記憶體(使用malloc()),如果引數size 也為0,則getcwd()會依工作目錄絕對路徑的字串程度來決定所配置的記憶體大小,程序可以在使用完次字串後利用free()來釋放此空間。
例:
#include <unistd.h>
main()
{
char buf[80];
getcwd(buf, sizeof(buf));
printf("current working directory : %s\n", buf);
}
執行:
current working directory :/tmp
標頭檔案:
#include <unistd.h>/ #include <direct.h>
定義函式:
char * getcwd(char * buf, size_t size);
函式說明:getcwd()會將當前的工作目錄絕對路徑複製到引數buf 所指的記憶體空間,引數size 為buf 的空間大小. Lnux 中,buf 的長度至少可以為255 位元組
返回值:執行成功則將結果複製到引數buf 所指的記憶體空間, 或是返回自動配置的字串指標. 失敗返回NULL.
1、在呼叫此函式時,buf 所指的記憶體空間要足夠大。若工作目錄絕對路徑的字串長度超過引數size 大小,則返回NULL.
2、倘若引數buf 為NULL,getcwd()會依引數size 的大小自動配置記憶體(使用malloc()),如果引數size 也為0,則getcwd()會依工作目錄絕對路徑的字串程度來決定所配置的記憶體大小,程序可以在使用完次字串後利用free()來釋放此空間。
例:
#include <unistd.h>
main()
{
char buf[80];
getcwd(buf, sizeof(buf));
printf("current working directory : %s\n", buf);
}
執行:
current working directory :/tmp