Я пытаюсь прочитать файл в динамически распределенном массиве 2d, но я все равно получаю распечатку той же строки. Файл, который я помещаю в этот код, представляет собой .txt с 1000 строк. Печать в конце - это проверить, получает ли массив правильные данные. И, наконец, я пытаюсь перераспределить код, чтобы код соответствовал количеству строк для массивов. THANKSS :)Пытается прочитать файл в динамически распределенном массиве 2d
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
int main(void)
{
char buffer[349];
char *del = "";
int i = 0;
int count = 0;
int len = 100;
int row = 10;
int max = 10;
char** d;
d = malloc(row * sizeof(char*));
for(i = 0; i < row; i++)
{
d[i] = malloc(349);
}
i = 0;
while (fgets(buffer, sizeof(buffer), stdin) != NULL)
{
d[i] = buffer;
i++;
if(i == max)
{
d = realloc(d, sizeof(d)*2);
for(i = max; i <= max*2; i++)
{
d[i] = malloc(349);
}
max = max * 2;
printf("reallocating to %d\n", max);
}
}
for(i = 0; i < 20; i++)
{
printf("%s\n", d[i]);
printf("%lu\n", sizeof(d[i]));
}
}
Пример строки в текстовом файле:
2152,1, MAIN, SOCW, 6390,006,22913, IND - Независимое исследование, 0,1,1,0,0,12 : 00 AM, 12: 00 AM, N, N, N, N, N, N, N, 01-20-2015,05-08-2015
И есть около 1000 строк, подобных этим в файле.
1) 'd [я] = буфер;' 'изменение зЬгсру (d [я ], buffer); ' – BLUEPIXY
2)' d = realloc (d, sizeof (d) * 2); '->' d = realloc (d, sizeof (* d) * max * 2); ' – BLUEPIXY
3) 'for (i = max; i <= max * 2; i ++)' -> 'for (i = max; i
BLUEPIXY