可能重复:
将文件路径拆分为路径和文件的功能
我想将像“a/b/c/directory/filename”这样的路径名拆分为“a/b/c/directory”和“filename”。在C中做到这一点的好方法是什么?
可能重复:
将文件路径拆分为路径和文件的功能
我想将像“a/b/c/directory/filename”这样的路径名拆分为“a/b/c/directory”和“filename”。在C中做到这一点的好方法是什么?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main ()
{
char path[] ="/aaa/bbb/ccc/file";
char *part1 = (char *)malloc (strlen(path));
strcpy (part1, path);
char *pos = strrchr (part1, '/');
*pos = '\0';
char *part2 = strdup (pos + 1);
printf ("%s \n%s", part1, part2 );
}