В настоящее время я работаю над кодом, который должен уметь читать строку из ранее существовавшего файла строка за строкой, разделяя строки в строке с помощью strep ().В настоящее время он успешно читает и печатает каждую строку (всего 47).Однако после того, как он читает и печатает последнюю строку, он сталкивается с ошибкой сегментации.Насколько я понимаю, это означает, что код пытается получить доступ к чему-то, что не существует (например, элемент массива 8 в "int array [5];". Я не понимаю, в какой момент он пытается получить доступ к такому элементу.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
FILE *fp = fopen(argv[1], "r");
int i = 0, j;
char line[47][500];
fgets(line[i], 500, fp);
printf("%d", i);
printf("%s\n", line[i]);
i++;
while (!feof(fp)) {
while (fgets(line[i], 500, fp) != NULL && i < 47) {
printf("%d", i);
printf("%s\n", line[i]);
i++;
}
}
После этого есть некоторый код, но именно здесь встречается ошибка.