国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言中獲取和改變目錄的相關(guān)函數(shù)總結(jié)

2020-01-26 14:55:11
字體:
供稿:網(wǎng)友

C語言getcwd()函數(shù):取得當前的工作目錄
頭文件:

#include <unistd.h>

定義函數(shù):

char * getcwd(char * buf, size_t size);

函數(shù)說明:getcwd()會將當前的工作目錄絕對路徑復制到參數(shù)buf 所指的內(nèi)存空間,參數(shù)size 為buf 的空間大小。

注:
1、在調(diào)用此函數(shù)時,buf 所指的內(nèi)存空間要足夠大。若工作目錄絕對路徑的字符串長度超過參數(shù)size 大小,則返回NULL,errno 的值則為ERANGE。
2、倘若參數(shù)buf 為NULL,getcwd()會依參數(shù)size 的大小自動配置內(nèi)存(使用malloc()),如果參數(shù)size 也為0,則getcwd()會依工作目錄絕對路徑的字符串程度來決定所配置的內(nèi)存大小,進程可以在使用完次字符串后利用free()來釋放此空間。

返回值:執(zhí)行成功則將結(jié)果復制到參數(shù)buf 所指的內(nèi)存空間, 或是返回自動配置的字符串指針. 失敗返回NULL,錯誤代碼存于errno.

范例

#include <unistd.h>main(){  char buf[80];  getcwd(buf, sizeof(buf));  printf("current working directory : %s/n", buf);}

執(zhí)行:

current working directory :/tmp


C語言chdir()函數(shù):改變當前的工作目錄
頭文件:

#include <unistd.h>

定義函數(shù):

int chdir(const char * path);

函數(shù)說明:chdir()用來將當前的工作目錄改變成以參數(shù)path 所指的目錄.

返回值執(zhí):行成功則返回0, 失敗返回-1, errno 為錯誤代碼.

范例

#include <unistd.h>main(){  chdir("/tmp");  printf("current working directory: %s/n", getcwd(NULL, NULL));}

執(zhí)行:

current working directory :/tmp


C語言chroot()函數(shù):改變文件根目錄
頭文件:

 #include <unistd.h>

定義函數(shù):

int chroot(const char * path);

函數(shù)說明:chroot()用來改變根目錄為參數(shù)path 所指定的目錄。只有超級用戶才允許改變根目錄,子進程將繼承新的根目錄。

返回值:調(diào)用成功則返回0, 失敗則返-1, 錯誤代碼存于errno.

錯誤代碼:
1、EPERM 權(quán)限不足, 無法改變根目錄。
2、EFAULT 參數(shù)path 指針超出可存取內(nèi)存空間。
3、ENAMETOOLONG 參數(shù)path 太長。
4、ENOTDIR 路徑中的目錄存在但卻非真正的目錄。
5、EACCESS 存取目錄時被拒絕。
6、ENOMEM 核心內(nèi)存不足。
7、ELOOP 參數(shù)path 有過多符號連接問題。
8、EIO I/O 存取錯誤。

范例

/* 將根目錄改為/tmp, 并將工作目錄切換至/tmp */#include <unistd.h>main(){  chroot("/tmp");  chdir("/");}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 永清县| 建水县| 米林县| 清徐县| 鄂尔多斯市| 红桥区| 信宜市| 开封市| 辽宁省| 宿迁市| 宜城市| 涪陵区| 工布江达县| 元谋县| 平度市| 颍上县| 抚顺市| 马边| 名山县| 桓仁| 巴林右旗| 乳源| 方城县| 城步| 石景山区| 盐亭县| 绥德县| 边坝县| 佛教| 宁武县| 锦州市| 达州市| 云梦县| 邮箱| 灵丘县| 泸溪县| 紫阳县| 毕节市| 慈利县| 荣昌县| 洞口县|