如何在 Unix 上将相对路径转换为 C 中的绝对路径?
有没有方便的系统功能?
在 Windows 上有一个GetFullPathName
函数可以完成这项工作,但我在 Unix 上没有找到类似的东西......
Use 真实路径().
The realpath()
函数应导出,
从指向的路径名file_name
,绝对路径名
命名相同的文件,其分辨率
不涉及'.
', '..
', 或者
符号链接。生成的路径名
应存储为空终止
字符串,最多可达{PATH_MAX}
字节,在指向的缓冲区中resolved_name
.
If resolved_name
是一个空指针,
的行为realpath()
是
实现定义的。
以下示例生成一个
文件的绝对路径名
由符号链接路径标识
争论。生成的路径名是
存储在实际路径数组中。
#include <stdlib.h>
...
char *symlinkpath = "/tmp/symlink/file";
char actualpath [PATH_MAX+1];
char *ptr;
ptr = realpath(symlinkpath, actualpath);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)