给定完整路径,API应该给我基本文件名。例如,“/foo/bar.txt”->“bar.txt”。
最佳答案
有basename()。
给它提供一个路径(以char*
的形式),它将以另一个char*
的形式返回您的基本名称(即您想要的文件/目录的名称)。
编辑:
我忘记告诉您POSIX版本的basename()
会修改其参数。如果要避免这种情况,可以在源代码中使用GNU版本的basename()
:
#define _GNU_SOURCE
#include <string.h>
作为交换,如果您使用此版本的
basename()
喂它,它将返回一个空字符串。 /usr/bin/
,因为结尾有斜杠。关于c - 在Linux中是否有任何C API从其完整路径中提取基本文件名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3288006/