如何删除文件路径的路径,只留下文件名?
我只想从 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/