使用Linux的manpage查看该函数原型
man 3 basename
#include <libgen.h>
char *dirname(char *path);
char *basename(char *path);
函数描述:
函数dirname()和basename()将中断以null结尾的路径名字符串到目录和文件名组件中。在通常情况下,dirname()返回字符串,直到但不包括最后的“/”,和basename()返回最后一个“/”后面的组件。拖尾“/”字符不算作路径名的一部分。
如果路径不包含斜杠,则dirname()返回字符串“”而basename()返回路径的副本。如果路径是字符串“/”,然后,dirname()和basename()都返回字符串“/”。如果路径是null指针或指向空字符串,然后dirname()和
basename()返回字符串“”。
连接由dirname()返回的字符串、一个“/”和字符串由basename()返回,生成完整的路径名。
dirname()和basename()都可以修改路径的内容,因此
调用其中一个函数时,可能需要传递一个副本。
#include <libgen.h>
#inlcude <stdio.h>
int main(int argc, char* argv[])
{
printf("filePath = %s\n", argv[0]);
}