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 存取错误。

实例:

/***
symlink.c
***/
#include<unistd.h>
#include<errno.h>
#include<stdio.h>

int main()
{
    int iRet = symlink("/etc/passwd","pass");
    if (0 == iRet)
    {
        printf("symlink success \n");
    }
    else
    {
        perror("symlink err");
    }
    return 0;
}

运行结果:

猜你喜欢

转载自www.cnblogs.com/wanghao-boke/p/11834722.html