如何删除文件路径的路径,只留下文件名?

我只想从 fts_path 中提取文件名并将其存储在 char *fileName 中。

最佳答案

这是一个删除 POSIX 样式( / -separated)路径名路径的函数:

char *base_name(const char *pathname)
{
    char *lastsep = strrchr(pathname, '/');
    return lastsep ? lastsep+1 : pathname;
}

如果您需要支持带有奇数路径分隔符的旧系统(如 MacOS 9 或 Windows),您可能需要调整上述内容以搜索多个可能的分隔符。例如在 Windows 上,/\ 都是路径分隔符,可以使用它们的任意组合。

关于c - 如何删除路径以获取文件名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9199001/

10-12 12:35
查看更多