C語言symlink()函式:建立檔案符號連線

2puT發表於2016-07-13
相關函式:link, unlink

標頭檔案:#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");
}

相關文章