http://www.jb51.net/article/71786.htm
頭文件:
#include <unistd.h> |
定義函數:
函數說(shuō)明:getcwd()會(huì )將當前的工作目錄絕對路徑復制到參數buf 所指的內存空間,參數size 為buf 的空間大小。
注:
1、在調用此函數時(shí),buf 所指的內存空間要足夠大。若工作目錄絕對路徑的字符串長(cháng)度超過(guò)參數size 大小,則返回NULL,errno 的值則為ERANGE。
2、倘若參數buf 為NULL,getcwd()會(huì )依參數size 的大小自動(dòng)配置內存(使用malloc()),如果參數size 也為0,則getcwd()會(huì )依工作目錄絕對路徑的字符串程度來(lái)決定所配置的內存大小,進(jìn)程可以在使用完次字符串后利用free()來(lái)釋放此空間。
返回值:執行成功則將結果復制到參數buf 所指的內存空間, 或是返回自動(dòng)配置的字符串指針. 失敗返回NULL,錯誤代碼存于errno.
范例
執行:
C語(yǔ)言chdir()函數:改變當前的工作目錄
頭文件:
定義函數:
函數說(shuō)明:chdir()用來(lái)將當前的工作目錄改變成以參數path 所指的目錄.
返回值執:行成功則返回0, 失敗返回-1, errno 為錯誤代碼.
范例
執行:
C語(yǔ)言chroot()函數:改變文件根目錄
頭文件:
定義函數:
函數說(shuō)明:chroot()用來(lái)改變根目錄為參數path 所指定的目錄。只有超級用戶(hù)才允許改變根目錄,子進(jìn)程將繼承新的根目錄。
返回值:調用成功則返回0, 失敗則返-1, 錯誤代碼存于errno.
錯誤代碼:
1、EPERM 權限不足, 無(wú)法改變根目錄。
2、EFAULT 參數path 指針超出可存取內存空間。
3、ENAMETOOLONG 參數path 太長(cháng)。
4、ENOTDIR 路徑中的目錄存在但卻非真正的目錄。
5、EACCESS 存取目錄時(shí)被拒絕。
6、ENOMEM 核心內存不足。
7、ELOOP 參數path 有過(guò)多符號連接問(wèn)題。
8、EIO I/O 存取錯誤。
范例
聯(lián)系客服