Я пытаюсь разбить строку на массив слов, но я зациклился на том, как это сделать в C. Мои навыки в C не очень хорошие, поэтому я могу " я думаю о способе «выполнить» мою идею. Ее то, что я до сих пор:Разделить строку на массив слов + C
int beginIndex = 0;
int endIndex = 0;
int maxWords = 10;
while (1) {
while (!isspace(str)) {
endIndex++;
}
char *tmp = (string from 'str' from beginIndex to endIndex)
arr[wordCnt] = tmp;
wordCnt++;
beginIndex = endIndex;
if (wordCnt = maxWords) {
return;
}
}
В моем методе я получаю (обугленного * ул, символ * обр [10]), и ул является линия, которую я хочу разделить, когда я сталкиваюсь с места. arr - массив, в котором я хочу хранить слова. Есть ли способ скопировать «кусок» строки, которую я хочу с «str» в мою переменную tmp? Это лучший способ, о котором я могу думать сейчас, возможно, это ужасная идея. Если это так, я был бы рад получить некоторые документы или советы по лучшему методу.
Вы можете использовать strtok для разделения строки на слова – radar
В чем проблема? – CroCo
Спасибо! strtok работал с первой попытки :) Но я вызываю этот метод с помощью строки из main, и я знаю, что мне нужно где-то выделить память. Должен ли я выделить память для моего char arr [10], прежде чем отправить его на этот метод из основного? – user16655