0

在linux中如何使用该函数strchr查找绝对路径,例如:

Input: /home/test/sample
Output: /home/test

我试着写这样的东西:

int main() {
char* string = "/home/test/sample";
char* pos;
pos = strchr(string, '/');
printf("%s\n", pos);
return 0;
}

但这不起作用,我得到了与输入相同的输出:

Input: /home/test/sample
Output: /home/test/sample
4

1 回答 1

1

请改用dirname函数:

#include <libgen.h>
#include <stdio.h>
#include <string.h>

int main()
{
  char* string = strdup ("/home/test/sample");
  char* pos;
  pos = dirname (string);
  printf ("%s\n", pos);
  return 0;
}

为了搜索最正确的出现,请使用strrchr函数。

于 2021-06-10T09:25:55.157 回答