注意的问题
1、需要头文件#include <libgen.h>
2、函数原型 char * basename(char *path)
3、path为".","/", ".."或者为不带有/的字符串时, 输出与path一致,最后一个 字符为/,输出为空;否则返回的是最后/后面的字符串
验证代码如下:
#include <stdio.h>
#include <libgen.h>
void print(char *s)
{
if (NULL == s)
printf("p is null\n");
else
printf("%s\n", s);
}
int main()
{
char *p = basename(".");
print(p);
p = basename("..");
print(p);
p = basename("/");
print(p);
p = basename("usr");
print(p);
p = basename("/usr/local");
print(p);
p = basename("/usr/");
print(p);
return 0;
}
输出为:
.
..
/
usr
local