我有
char *path;
我将字符串“/home/juggler/file1.txt”存储在路径中。如何截断路径以便我只拥有最后一个文件/目录的父级?在示例中,我想将路径截断为“/ home / juggler”
我在考虑计算从结尾到最后一个“/”的字符数(计数),并将(路径长度) - (计数)复制到另一个字符串。
谢谢
答案 0 :(得分:4)
尝试使用dirname(3)
,因为您使用的是Linux。由SUSv3指定,它非常便携。
char *dirname(char *path);
在通常情况下,dirname()返回字符串,但不是 包括,最后的'/'。
答案 1 :(得分:1)
您应该在dirname()
libgen.h
#include <libgen.h>
#include <stdio.h>
int main()
{
printf("%s\n", dirname("/home/juggler/file1.txt"));
return 0;
}
阅读dirname
的联机帮助页以获取更多信息。