Как я могу прочитать несколько строк (приблизительно 5000 строк) из текстового файла и сохранить их все в одном массиве строк? У меня уже есть код, который работает гладко, но он не работает так, как предполагалось. Я получаю только последнюю строку файла, хранящегося в массиве.Прочитать все строки из файла в массив
int main(){
int n;
char line[401];
char string[10000];
fr = fopen ("fila1b.txt", "rt");
while(fgets(line, 400, fr) != NULL){
strcat(string, line);
}
fclose(fr);
printf("%s\n", string);
}
EDIT: Я обновил код с некоторыми изменениями. Теперь я использую функцию strcat, чтобы вставить содержимое строки, полученной fgets, в исходный массив строк. Он работает, по-видимому. Но когда я печатаю «строку», он печатает только первые 300 строк, а затем дает мне ошибку сегментации.
Каждый вызов 'gets' может перезаписать содержимое' line'. – ForceBru
Ну, * что-то нужно, чтобы зайти в тело этого цикла while ... возможно, код, который помещает содержимое строки в массив? – SevenBits
Нет массива для строк, и весь код отсутствует. Это не сайт «написать мой код». Что у вас есть, какова ваша ** конкретная проблема? – Olaf