这是一个删除POSIX样式(/分离)路径名路径的函数:
char *base_name(const char *pathname)
{
char *lastsep = strrchr(pathname, '/');
return lastsep ? lastsep+1 : pathname;
}
Run Code Online (Sandbox Code Playgroud)
如果需要支持具有奇数路径分隔符(如MacOS 9或Windows)的旧系统,则可能需要调整上述内容以搜索多个可能的分隔符.例如在Windows中,/而且\是路径分隔符,可以用它们的任意组合.