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

首頁 > 編程 > C > 正文

詳解C語言中symlink()函數和readlink()函數的使用

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

C語言symlink()函數:建立文件符號連接
頭文件:

 #include <unistd.h>

定義函數:

int symlink(const char * oldpath, const char * newpath);

函數說明:symlink()以參數newpath 指定的名稱來建立一個新的連接(符號連接)到參數oldpath 所指定的已存在文件. 參數oldpath 指定的文件不一定要存在, 如果參數newpath 指定的名稱為一已存在的文件則不會建立連接.

返回值:成功則返回0, 失敗返回-1, 錯誤原因存于errno.

錯誤代碼:
1、EPERM 參數oldpath 與newpath 所指的文件系統不支持符號連接。
2、EROFS 欲測試寫入權限的文件存在于只讀文件系統內。
3、EFAULT 參數oldpath 或newpath 指針超出可存取內存空間。
4、ENAMETOOLONG 參數oldpath 或newpath 太長。
5、ENOMEM 核心內存不足。
6、EEXIST 參數newpath 所指的文件名已存在。
7、EMLINK 參數oldpath 所指的文件已達到最大連接數目。
8、ELOOP 參數pathname 有過多符號連接問題。
9、ENOSPC 文件系統的剩余空間不足。
10、EIO I/O 存取錯誤。

范例

#include <unistd.h>main(){  symlink("/etc/passwd", "pass");}

C語言readlink()函數:取得符號連接所指的文件
頭文件:

 #include <unistd.h>

定義函數:

int readlink(const char * path, char * buf, size_t bufsiz);

函數說明:readlink()會將參數path 的符號連接內容存到參數buf 所指的內存空間, 返回的內容不是以NULL作字符串結尾, 但會將字符串的字符數返回. 若參數bufsiz 小于符號連接的內容長度, 過長的內容會被截斷.

返回值:執行成功則傳符號連接所指的文件路徑字符串, 失敗則返回-1, 錯誤代碼存于errno.

錯誤代碼:
1、EACCESS 取文件時被拒絕, 權限不夠。
2、EINVAL 參數bufsiz 為負數。
3、EIO I/O 存取錯誤。
4、ELOOP 欲打開的文件有過多符號連接問題。
5、ENAMETOOLONG 參數path 的路徑名稱太長。
6、ENOENT 參數path 所指定的文件不存在。
7、ENOMEM 核心內存不足。
8、ENOTDIR 參數path 路徑中的目錄存在但卻非真正的目錄。

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

圖片精選

主站蜘蛛池模板: 日韩在线欧美 | 日韩免费| 日本美女影院 | 精品国产乱码久久久久久影片 | 玖玖精品 | 欧美成人免费 | 九一亚洲精品 | 蜜桃视频一区二区三区 | 欧美日韩国产精品一区二区亚洲 | 自拍视频网 | 国产精品毛片久久久久久久av | 精品一区二区免费视频 | 中文在线一区 | 成人羞羞在线观看网站 | 日本一区二区不卡视频 | 国产美女精品视频免费观看 | 日韩一区在线播放 | 国内自拍视频在线观看 | 日韩欧美中文字幕在线观看 | 欧美一区精品 | 一区二区免费播放 | 久久精品国产免费看久久精品 | 羞羞视频在线免费 | 在线一区二区三区 | 亚洲国产精久久久久久久 | 国产精品7| 亚洲中国精品精华液 | 精品亚洲成a人在线观看 | 欧美专区在线 | 日本一区二区不卡 | 日本三级黄色录像 | 成人免费视频在线看 | 成人在线小视频 | www在线视频 | 精品国产乱码久久久久久蜜柚 | 欧美激情一区二区 | 欧美精品黄 | 国产精品久久久久无码av | 成人免费视频一区二区 | 国产l精品国产亚洲区久久 国产suv精品一区 | 三级成人在线 |