1

如何在 C 中使用 2 个分隔符剪切字符串?

我在这个平台上从用户那里得到一个字符串:

cp <path1> <path2>

我需要将路径放入一个新字符串(每个路径到一个字符串)。

我尝试使用strstrstrtok但它不起作用。

我不知道路径的长度。我也只知道它们是从" \"(这是我拥有的分隔符(space + \))开始的。

这就是我尝试的#include #include #include

int main()
{
  char *c;
  char *ch = malloc(1024);
  while (strcmp(ch, "exit"))
  {
    scanf("%[^\n]%*c", ch); //what was the input (cp /dor/arthur /king/apple)
    c = malloc(sizeof(strlen(ch) + 1));
    strcpy(c, ch);
    char *pch = strtok(c, " //");
    printf("this is : %s \n", pch); //printed "this is: cp"
  }
}
4

2 回答 2

1

使用strtok(). 上面的链接包含一个使用示例strtok().

您可以通过以下方式使用 2 个分隔符 ( space + \) strtok()

str = strtok(str, " \\");
于 2013-08-31T13:26:45.320 回答
-1

是在主函数吗?如果是,主函数有 argc (int) 和 *argv[] (string) 参数,你可以做你想做的事。

于 2013-08-31T13:27:33.790 回答