给定完整路径,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/

10-12 00:13