1. 程式人生 > >getwd輸出當前工作目錄絕對路徑

getwd輸出當前工作目錄絕對路徑

相關函式:get_current_dir_name, getwd, chdir

標頭檔案:

#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