C++ 几个可以获取路径的函数

最近工作中看到的几个没见过的函数,都是关于获取路径的总结一下。
首先解释一下什么是绝对路径和相对路径:
在linux 下 绝对路径 是由根目录 " / " 写起, 比如: /usr/bin/test
相对路径 不是由根目录写起, 比如当用户进入到 /home目录,然后再进入到soft目录,命令顺序如下
[root @ **] cd /home
[root @ **] cd soft
这时用户所在的路径为 /home/soft。第一个cd命令为/home,前面有斜杠;而第二个cd命令后跟soft,前 面没有斜杠。这个soft目录是相对于/home目录来讲的,所以称为相对路径。

windows下:
绝对路径:由盘符开始, C:\windows\System32\cmd.exe
相对路径: 从当前路径开始的路径,假如当前路径在C:\windows下,对于上一条的路径只需要输入 System32\cmd.exe即可进入C:\windows\System32\cmd.exe。

1 char * basename(char *path) 作用是得到特定的路径中的最后一个’/’,后面的内容,如果是/usr/test.sh

得到的内容就是 test.sh //#include <libgen.h>

2 char *dirname(char *path) //功能截取path中的目录路径返回。

3 char *realpath(const char *path, char *resolved_path) //realpath()用来将参数path所指的相对路径转换成绝对路径后存于参数resolved_path所指的字符串数组或指针中。返回值: 成功则返回指向resolved_path的指针,失败返回NULL,错误代码存于errno

4 char *getcwd(char *buf,size_t size) getcwd()会将当前工作目录的绝对路径复制到参数buffer所指的内存空间中,参数size为buf的空间大小。

猜你喜欢

转载自blog.csdn.net/xiaoxiaofeng001/article/details/85107992