c - 符号链接的路径
问题描述
我正在开发一个在 linux 中打印有关文件信息的程序。我需要一种处理链接文件的方法(S_ISLNK(buf->st_mode))
,以便程序打印符号链接的路径和它指向的文件。我已经想出了第二部分,但不知道如何做第一部分,虽然它看起来更容易。我以文件名作为参数运行程序,然后打印统计信息的函数将struct stat buf
和char *fname
作为参数。对于符号链接指向的文件的路径,我realpath(fname, NULL)
在 printf 中用作 %s。我尝试使用 readlink 获取符号链接的路径,但获得了符号链接指向的文件的路径。最终代码应如下所示:
printf("Path: %s\n", *char array or function that stores the path*);
printf("Points to: %s\n", realpath(fname, NULL));
试过这个:
char path[512];
readlink(fname, path, sizeof(path));
printf("Path: %s\n", path);
有谁知道我会怎么做?任何帮助深表感谢。
解决方案
推荐阅读
- angular - 使用自定义 Angular 库和 NPM 链接在 Storybook 中找不到组件 templateUrl 和 stylesUrl
- android - 如何将 ScrollView 内的 android WebView 滚动到插入符号位置
- python - 在python中生成一个布尔矩阵
- javascript - 相同 URL 的 fetch 响应大小不同
- python - 使用 Python 动态调用类方法
- docker - 如何在 Testcafe 中将“resizeWindow”与 docker 和电子一起使用?
- java - 多次调用扫描仪时抛出异常。“线程主异常”java.util.NoSuchElementException:未找到行“
- django - Django Video Encoding package not converting videos
- powershell - 无法使用 PowerShell 获取 https://management.azure.com/ 的刷新令牌
- php - 错误的时间戳在线转换