Считывание данных с файла в массив - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Считываю данные с файла в массив но все индексы массива принимают последнее значение строки. Подскажите пожалуйста как это можно исправить.
int main()
{
    char *satir[50];
        int sayac = 0;
    char *satirlar[50];
    int satirSayisi = 0;
 
        FILE *dosya = fopen("soy.txt", "r");
        do
    {
            fgets(satir,50,dosya);
            satirlar[satirSayisi] = satir;
            satirSayisi++;
 
    }while (satir != NULL);
        
        fclose (dosya) == EOF;
}

Решение задачи: «Считывание данных с файла в массив»

textual
Листинг программы
#include <string.h>   // для strcpy(char *,  const * char);
#define    SIZE    30 // кол-во допустимых строк
 
int main()
{
    char satir[50];
    int sayac = 0;
    char satirlar[SIZE][50];
    int satirSayisi = 0;
 
    FILE *dosya = fopen("soy.txt", "r");
    do{
        fgets(satir,50,dosya);
        strcpy(satirlar[satirSayisi],satir);
        satirSayisi++;
    }while (satir != NULL);
    fclose(dosya);
}
/* Для вывода пиши так: printf("%s", satirlar[satirSayisi]); -,т.е. указывай номер строки */

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и строками
  2. Объявление переменных: — satir[50] — строка для считывания данных из файла — sayac — счетчик количества считанных строк — satirlar[SIZE][50] — массив для хранения считанных строк — satirSayisi — счетчик количества заполненных строк в массиве
  3. Открытие файла soy.txt для чтения с помощью функции fopen
  4. Чтение данных из файла с помощью цикла do-while и функции fgets — В каждой итерации цикла считывается одна строка из файла и сохраняется в переменной satir — С помощью функции strcpy строка satir сохраняется в соответствующем элементе массива satirlar — После каждой итерации счетчик satirSayisi увеличивается на 1
  5. Закрытие файла с помощью функции fclose
  6. Возможность вывода любой из считанных строк с помощью команды printf и указания номера строки в массиве satirlar

Оцени полезность:

14   голосов , оценка 4.143 из 5
Похожие ответы