strstr如果您也对目录名称感兴趣,您可以使用:
char *path ="ab/cde/fg.out";
char *ssc;
int l = 0;
ssc = strstr(path, "/");
do{
l = strlen(ssc) + 1;
path = &path[strlen(path)-l+2];
ssc = strstr(path, "/");
}while(ssc);
printf("%s\n", path);
Run Code Online (Sandbox Code Playgroud)
这是一个单线示例(给定的char * whoami),它说明了基本算法:
(whoami = strrchr(argv[0], '/')) ? ++whoami : (whoami = argv[0]);
Run Code Online (Sandbox Code Playgroud)
如果可能为NULL,则需要进行额外的检查。另请注意,这只是指向原始字符串- strdup()可能合适。