У вас нет (по крайней мере, не в вставленном коде) #include
d заголовка, который определяет функцию strtok
.В C предполагается, что функции, которые еще не были прототипированы, возвращают int
.Таким образом, мы присваиваем int
(результат функции) char*
(тип token
) без приведения.
Разумеется, мы не хотим приведение.Мы хотим #include
заголовок, чтобы компилятор понимал, что возвращает strtok
.
Но мы также не хотим использовать strtok
, если есть что-то еще, что выполнит эту работу.У этого есть многочисленные ограничения, которые не очевидны.Для надежного анализа строки попробуйте sscanf
.