詳解C語言中symlink()函數(shù)和readlink()函數(shù)的使用
C語言symlink()函數(shù):建立文件符號(hào)連接
頭文件:
#include <unistd.h>
定義函數(shù):
int symlink(const char * oldpath, const char * newpath);
函數(shù)說明:symlink()以參數(shù)newpath 指定的名稱來建立一個(gè)新的連接(符號(hào)連接)到參數(shù)oldpath 所指定的已存在文件. 參數(shù)oldpath 指定的文件不一定要存在, 如果參數(shù)newpath 指定的名稱為一已存在的文件則不會(huì)建立連接.
返回值:成功則返回0, 失敗返回-1, 錯(cuò)誤原因存于errno.
錯(cuò)誤代碼:
1、EPERM 參數(shù)oldpath 與newpath 所指的文件系統(tǒng)不支持符號(hào)連接。
2、EROFS 欲測試寫入權(quán)限的文件存在于只讀文件系統(tǒng)內(nèi)。
3、EFAULT 參數(shù)oldpath 或newpath 指針超出可存取內(nèi)存空間。
4、ENAMETOOLONG 參數(shù)oldpath 或newpath 太長。
5、ENOMEM 核心內(nèi)存不足。
6、EEXIST 參數(shù)newpath 所指的文件名已存在。
7、EMLINK 參數(shù)oldpath 所指的文件已達(dá)到最大連接數(shù)目。
8、ELOOP 參數(shù)pathname 有過多符號(hào)連接問題。
9、ENOSPC 文件系統(tǒng)的剩余空間不足。
10、EIO I/O 存取錯(cuò)誤。
范例
#include <unistd.h> main() { symlink("/etc/passwd", "pass"); }
C語言readlink()函數(shù):取得符號(hào)連接所指的文件
頭文件:
#include <unistd.h>
定義函數(shù):
int readlink(const char * path, char * buf, size_t bufsiz);
函數(shù)說明:readlink()會(huì)將參數(shù)path 的符號(hào)連接內(nèi)容存到參數(shù)buf 所指的內(nèi)存空間, 返回的內(nèi)容不是以NULL作字符串結(jié)尾, 但會(huì)將字符串的字符數(shù)返回. 若參數(shù)bufsiz 小于符號(hào)連接的內(nèi)容長度, 過長的內(nèi)容會(huì)被截?cái)?
返回值:執(zhí)行成功則傳符號(hào)連接所指的文件路徑字符串, 失敗則返回-1, 錯(cuò)誤代碼存于errno.
錯(cuò)誤代碼:
1、EACCESS 取文件時(shí)被拒絕, 權(quán)限不夠。
2、EINVAL 參數(shù)bufsiz 為負(fù)數(shù)。
3、EIO I/O 存取錯(cuò)誤。
4、ELOOP 欲打開的文件有過多符號(hào)連接問題。
5、ENAMETOOLONG 參數(shù)path 的路徑名稱太長。
6、ENOENT 參數(shù)path 所指定的文件不存在。
7、ENOMEM 核心內(nèi)存不足。
8、ENOTDIR 參數(shù)path 路徑中的目錄存在但卻非真正的目錄。
上一篇:詳解C語言中printf輸出的相關(guān)函數(shù)
欄 目:C語言
下一篇:C語言中用于修改文件的存取時(shí)間的函數(shù)使用
本文標(biāo)題:詳解C語言中symlink()函數(shù)和readlink()函數(shù)的使用
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2790.html
您可能感興趣的文章
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用函數(shù)刪除字符
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)式函數(shù)庫
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言中對(duì)數(shù)函數(shù)的表達(dá)式 c語言中對(duì)數(shù)怎么表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段函數(shù)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排序法函數(shù)
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段函數(shù)
- 04-02C語言中怎么打出三角函數(shù) c語言中怎么打出三角函數(shù)的值
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求階乘


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對(duì)數(shù)函數(shù)的表達(dá)式 c語言中對(duì)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機(jī)閱讀
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?