Я хочу взять текст из стандартного ввода и сохранить его в массив строк. Но я хочу, чтобы массив строк был динамическим в памяти. Мой код сейчас выглядит следующим образом:
char** readStandard()
{
int size = 0;
char** textMatrix = (char**)malloc(size);
int index = 0;
char* currentString = (char*)malloc(10); //10 is the maximum char per string
while(fgets(currentString, 10, stdin) > 0)
{
size += 10;
textMatrix = (char**)realloc(textMatrix, size);
textMatrix[index] = currentString;
index++;
}
return textMatrix;
}
Результат, полученный при печати, - последняя строка, прочитанная во всех позициях массива.
Пример
Чтение:
Привет
отлично
в
встретить
Вы
Печать:
вы
вы
вы
вы
Вы
Почему? Я искал через Интернет. Но я не нашел такой ошибки.