📌  相关文章
📜  symlink():没有这样的文件或目录 (1)

📅  最后修改于: 2023-12-03 15:35:13.372000             🧑  作者: Mango

关于 symlink() 函数的介绍

简介

symlink() 函数用于创建符号链接。符号链接是一种特殊类型的文件,它指向另一个文件或目录。创建符号链接后,可以通过符号链接来访问原文件或目录。符号链接类似于快捷方式。

函数原型
int symlink(const char *target, const char *linkpath);
参数说明
  • target:需要创建符号链接的原文件或目录的路径。
  • linkpath:新创建的符号链接的路径。
返回值
  • 若创建符号链接成功,则返回 0。
  • 若创建符号链接失败,则返回 -1,并设置 errno 变量来指示错误原因。
错误代码
  • EEXIST:新创建的符号链接已存在。
  • EACCES:无权限访问路径中的某个组件。
  • ENAMETOOLONG:路径名过长。
  • ENOENT:路径中某个组件不存在。
  • ELOOP:出现循环符号链接。
  • EFAULT:target 或 linkpath 指针地址无效。
示例
#include <stdio.h>
#include <unistd.h>

int main() {
    const char* target = "/home/user/example_dir";
    const char* linkpath = "/home/user/example_link";
    if (symlink(target, linkpath) == 0) {
        printf("Symbolic link created successfully.\n");
    } else {
        perror("Symlink creation failed");
        return 1;
    }
    return 0;
}

在上面的示例中,我们通过 symlink() 函数创建了一个目录的符号链接。如果成功创建,程序会输出"Symbolic link created successfully.",否则会输出具体错误信息。