Я пытаюсь объединить строку 2 за строкой 1, а затем назначить эту строку в окончательную строку.Все эти строки передаются в функцию как указатели.Я получаю сообщение об ошибке, когда устанавливаю свой последний строковый указатель на две строки.
Мой ожидаемый ввод / вывод:
concat("string", 10, "hello", "world");
--> char *final should be: helloworld
Моя функция concat:
void concat(char *final, size_t max, const char *first, const char *second)
{
//final holds first+second
//max is the size of first and second strings combined
//first and second are strings
while (*first != '\0') {
first++;
}
while (*second != '\0') {
*first = *second;
first++;
second++;
}
*first = '\0';
*final[max] = *first; // Error on this line
}
Моя ошибка (строка 15):
Indirection requires pointer operand ('int' invalid)
edit: const
может быть удалено, чтобы избежать ошибки назначения переменной только для чтения.