问题提出:
最近小组的小伙伴们都在写my_ls,myshell, 可能经常会遇到这样的问题, 需要得到当前路径下的文件名
比如当前绝对路径:/home/dela/dela_c, 现在想得到dela_c怎么办, 反正我在实现这个问题的时候费了一番功夫
现在跟小伙伴们分享一个很简单的方法, 就是:basename和dirname系统调用!!!
函数声明
头文件:
#include<libgen.h>
函数声明:
char *dirname(char *path);
char * basename(char *path);
函数用法
basename(): 截取path中的去目录部分的最后的文件名
dirname(): 截取path中的目录路径名
成功将返回文件名或目录名, 失败返回NULL
程序示例:
#include<stdio.h>
#include<libgen.h>
#include<unistd.h>
#include<string.h>
#include<d