使用 strchr 在 linux 中查找绝对路径

Find absolute path in linux using strchr

我们如何使用函数strchr在linux中找到绝对路径,例如:

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

改用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 函数。