首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux symlink()函数在绝对路径上中断

linux symlink()函数在绝对路径上中断
EN

Stack Overflow用户
提问于 2016-05-03 01:42:11
回答 1查看 70关注 0票数 0

为什么要这样做:

代码语言:javascript
复制
#include <unistd.h>
#include <stdio.h>
#include <sys/stat.h>

int main(void) {
        const char filea[] = "../test/hunspell";
        const char fileb[] = "testa/dictionaries";
        int returnr;
        returnr = symlink(filea, fileb);
        printf("%d\n", returnr);
        return returnr;
}

返回0,我得到如下结果:

代码语言:javascript
复制
[gala@arch test]$ tree
.
├── symtest
├── test
├── testa
│   └── dictionaries -> ../test/hunspell
└── test.c

[gala@arch test]$ pwd
/home/gala/testing/test

但这一点:

代码语言:javascript
复制
#include <unistd.h>
#include <stdio.h>
#include <sys/stat.h>

int main(void) {
        const char filea[] = "/home/gala/testing/test/hunspell";
        const char fileb[] = "/home/gala/testing/testa/dictionaries";
        int returnr;
        returnr = symlink(filea, fileb);
        printf("%d\n", returnr);
        return returnr;
}

返回-1但失败。

为什么c symlink()函数在绝对路径上失败,但在相对路径上有效?我是不是漏掉了什么?

为什么它坏了?

EN

回答 1

Stack Overflow用户

发布于 2016-05-03 22:30:07

你确定你的路径是好的吗?如果您在/home/gala/testing/test中运行tree,那么fileb的路径应该是/home/gala/testing/test/testa/dictionaries而不是/home/gala/testing/testa/dictionaries

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36988380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档