#c #arrays
#c #массивы
Вопрос:
Я хочу добавить строку в массив строк, но это не работает.
В настоящее время у меня есть этот код:
void splitArray(char *strings, char *delimiter) {
int i = 0;
char newArray[MAXCHARS];
char* pch = NULL;
pch = strtok(strings, delimiter);
while (pch != NULL)
{
// doesn't work; Exception: warning: assignment makes integer from pointer without a cast [enabled by default]
newArray = pch;
printf("%sn", pch);
pch = strtok(NULL, delimiter);
}
}
Как я могу решить эту проблему?
Комментарии:
1.
strcpy
Вводом pch в newArray? И, кстати,char newArray[MAXCHARS];
это не строковый массив, это массив символов, также известный как строка…2. Спасибо, что решил проблему
3. Хорошо 🙂 В этом случае вы должны принять ответ @cloud1, поскольку он говорит в основном то же самое.
4. Зачем добавлять что-то в массив, если массив теряется при возврате функции? Чего вы на самом деле пытаетесь достичь? (кстати — у вас нет массива строк)
5. Параметр должен быть строковым массивом, а затем я разделяю его разделителем. После этого я хочу вернуть разделенный массив в основную программу
Ответ №1:
Используйте strcpy для копирования строки в массив символов.