Мне нужно сохранить ввод от пользователя в массив строк.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char *history[10] = {0};
int main (void) {
char input[256];
input = "input";
strcpy(history[0], input);
return (EXIT_SUCCESS);
}
Запустив его на терминале, я получаю ошибку сегментации, а в NetBeans я получаю main.c: 11: error:несовместимые типы в присваивании.Я также попытался сдвинуть всю историю, чтобы сохранить самый новый ввод в первую позицию (history [0]).
history[9] = history[8];
history[8] = history[7];
history[7] = history[6];
history[6] = history[5];
history[5] = history[4];
history[4] = history[3];
history[3] = history[2];
history[2] = history[1];
history[1] = history[0];
history[0] = input;
Но это приводит к выводу, подобному этому.
Если input равен "вход "
История 0: история ввода 1: ноль и т. д.
Если тогда ввод" новый "
История 0: новая история 1: новая история 2: ноль и т.д..
Каждый раз при вводе нового ввода указатели на сдвиг строки, но это приводит к тому, что в массиве истории сохраняется только самое новое значение.