如何解决如何检查符号链接的路径,而不是它所指示的路径,而是链接本身 IN C
我看过很多类似的主题,阅读了很多readlink和realpath,但是问题是我需要pliksoft的路径,而不是此链接指向的位置。
例如:
结果应为:
/ users / staff / trl / am / SK / pliksoft
不是
/ users / staff / trl / am / SK / abc
我这样做,
char buf[PATH_MAX],buf_2[PATH_MAX];
readlink(argv[1],buf,PATH_MAX);
realpath(buf,buf_2);
printf("%s\n",buf_2);
但这就是一个不好的结果。
解决方法
我想您正在尝试:
#include <libgen.h>
#include <limits.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
int
main(int argc,char **argv)
{
char buf[PATH_MAX];
char *path = argc > 1 ? argv[1] : "foo";
realpath(dirname(path),buf);
printf("%s/%s -> ",buf,basename(path));
realpath(path,buf);
printf("%s\n",buf);
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。