Я уже некоторое время пытаюсь понять это, и у меня нет абсолютно никакой подсказки, как это исправить. У меня довольно приличный размер проекта, и я использую strtok бесчисленное количество раз без каких-либо проблем, но он здесь не работает. Пожалуйста, помогите: (
Редактировать: я искал удаление префикса, а не strtok. Я оставляю это здесь, если кто-то смущен и гуглит это.
Это код вопроса:
#include <stdio.h>
#include <string.h>
int main()
{
char root[1000];
char home[1000];
strcpy(root,"/Users/me/Desktop/my-project"); // this is working
strcpy(home,"/Users/me/Desktop/my-project/home"); // this is working
strtok(home,root); // here's the problem
printf("%s",home);
}
Результат 1:
/Users/me/Desktop/my-project/h
Я также пробовал:
char *ptr = strtok(home,root);
printf("%s",ptr);
Результат 2:
h
Разве оба не должны возвращать /home
?