给一个使用realpath()函数获取绝对路径例子
时间: 2024-04-10 13:27:36 浏览: 279
以下是一个使用`realpath()`函数获取绝对路径的例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
int main() {
char *path = "../documents/file.txt";
char resolved_path[PATH_MAX];
if (realpath(path, resolved_path) == NULL) {
perror("realpath");
exit(EXIT_FAILURE);
}
printf("Absolute path: %s\n", resolved_path);
return 0;
}
```
在这个例子中,我们定义了一个相对路径`../documents/file.txt`。然后,我们声明了一个字符数组`resolved_path`用于存储获取到的绝对路径。
调用`realpath()`函数时,将相对路径和`resolved_path`作为参数传递给它。如果`realpath()`函数成功解析了相对路径并获取到了绝对路径,它会将绝对路径存储在`resolved_path`中,并返回非零值。否则,它会返回0,并在解析失败时通过`perror()`函数打印错误信息。
最后,我们打印获取到的绝对路径。请注意,为了使用`realpath()`函数,需要包含头文件`<stdio.h>`和`<stdlib.h>`,以及定义常量`PATH_MAX`来指定字符数组的大小限制。
阅读全文