Аргумент разделителя для strtok - это строка, содержащая отдельные символы, используемые для разделения строки.
Вы указали разделители .
, c
, i
, t
, e
и s
.
Поэтому неудивительно, что для первого токена вывод равен umd
, поскольку он окружен символами в строке разделителя.
Если выЕсли вы хотите найти всю строку, вы должны использовать strstr
.
Например:
char name[] = "eseumdesconhecidolheoferecerflores.issoeimpulse.cities";
char *pos;
pos = strstr(name, ".cities");
if (pos)
{
*pos = '\0';
printf("%s\n", name);
}