Как вырезать строку, используя 2 разделителя в C?Как вырезать строку с использованием 2 разделителей
Я получаю строку от пользователя в этой платформе:
cp <path1> <path2>
Мне нужно, чтобы получить тракты в новую строку (каждый пути к одной строке).
Я попытался использовать strstr
и strtok
, но это не сработает.
Я не знаю длины дорожек. Я также просто знаю, что они начинаются с " \"
(это разделители, которые у меня есть (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"
}
}
Что значит, что это не работает? strstr и strtok позволяют находить вещи в строке, они должны быть идеальными для работы. – Gigi
Пожалуйста, покажите нам, что вы пробовали. – alk
И вы уверены, что в патчах нет пробелов (пробелов)? – alk