a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

C語言中獲取和改變目錄的相關函數總結

2020-01-26 14:55:11
字體:
來源:轉載
供稿:網友

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

#include <unistd.h>

定義函數:

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

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

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

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

范例

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

執行:

current working directory :/tmp


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

#include <unistd.h>

定義函數:

int chdir(const char * path);

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

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

范例

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

執行:

current working directory :/tmp


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

 #include <unistd.h>

定義函數:

int chroot(const char * path);

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

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

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

范例

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

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

圖片精選

主站蜘蛛池模板: 日本超碰| 我爱操 | 亚洲无吗视频 | 色视频久久 | 日本成人小视频 | 久久成人激情视频 | 探花 在线 | 日韩性猛交 | 欧美成视频 | 免费a爱片猛猛 | 亚洲人成人一区二区在线观看 | 福利视频一区二区 | 日日骚视频 | 91亚洲精华国产精华精华液 | 成人91免费版 | 亚洲天堂免费在线视频 | 日韩精品一区二区三区视频播放 | 中文字幕一区二区三区四区 | 国内精品一区二区 | 97人人精品 | 亚洲国产精品成人综合色在线婷婷 | 最近中文字幕在线视频1 | 自拍视频网站 | 国产2区 | 欧美成人精品在线观看 | 精品在线一区二区三区 | 免费日韩成人 | 麻豆精品久久 | 日本高清视频www | 久久蜜臀 | 国产精品永久免费 | 天天看天天做 | 精品国产欧美一区二区三区成人 | 一级欧美| 美女天天操 | 日韩欧美国产一区二区 | 狠狠色狠狠色综合网 | 黄色工厂在线观看 | 一区色 | 午夜在线视频 | 99精品热视频 |