函数原型:linux终端下输入 man 3 basename 可以查看到
#include <libgen.h>
char *basename(char *path);
参数path是文件的路径 PS:这里的文件路径就是/home/linux/txt.c 这种类型而已,basename函数并不会关心路径是否正确,文件是否存在,只不过是把路径上除了最后
的txt.c 这个文件名字其他的东西都删除了然后返回而已
例:
#include "stdio.h"
#include "libgen.h"
int main()
{
char *p;
p = basename("nihao/nihao/jhhh/999"); // 这里只要加上自己想填的路径即可
printf("%s\n",p);
return 0;
}
最终打印的结果是999
但是如果路径最后并没有加上文件就会报段错误
#include "stdio.h"
#include "libgen.h"
int main()
{
char *p;
p = basename("nihao/nihao/jhhh/"); // 这里没有最终的文件名
printf("%s\n",p);
return 0;
}
运行结果是 Segmentation fault