char *str = malloc (14);
sprintf(str, "%s", "one|two|three");
char *token1, *token2, *token3;
char *start = str;
token1 = str;
char *end = strchr (str, '|');
str = end + 1;
end = '\0';
token2 = str;
end = strchr (str, '|');
str = end + 1;
end = '\0';
...
free(start);
делает это нормально работать должным образом, так как я устанавливал байты в str для нулевого значения, чтобы его токенизировать?c string tokenization question
Рекомендуется использовать одно и то же имя переменной для malloc и free. В этом случае используйте «start» для malloc, а затем присвойте «str» значению «start». – selwyn
ahh, хорошо, что имеет смысл – user105033