Посимвольное считывание с файла и запись в массив - C (СИ)

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

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

Всем привет, подскажите, правильно ли я выполняю посимвольное(Нужно считывать, не зная заранее сколько символов считаешь) считывание с файла и запись в массив f, если нет, то исправьте, пожалуйста, можно через какую-либо другую функцию, спасибо.
FILE *file;
file = fopen("input.txt", "r");
int i = 0, c;
fgets (f, c, file);
while ((c = fgetc(file)) != EOF)
{
putchar(c);
f[i]=c;
i++;
}
while(f[i]!='\0')
{
   if (f[i]=='\n')
    {
        f[i]='\0';
   }
        i++;
}
printf("Text:\n%s!\n", f);
fclose(file);

Решение задачи: «Посимвольное считывание с файла и запись в массив»

textual
Листинг программы
FILE *file;
    file = fopen("input.txt", "r");
    int i = 0, c;
    char f[256];
    
    while ((c = fgetc(file)) != EOF)
    {
        f[i]=c;
        i++;
    }
    printf("Text:\n%s!\n", f);
    fclose(file);

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

  1. Создается указатель на файл file с помощью функции fopen(input.txt,r).
  2. Инициализируется переменная i со значением 0, которая будет использоваться для подсчета количества прочитанных символов.
  3. Создается переменная c, которая будет использоваться для хранения прочитанного символа.
  4. Создается массив f типа char с размером 256 для хранения прочитанных символов.
  5. Запускается цикл while, который будет выполняться до тех пор, пока c не станет равным EOF.
  6. Внутри цикла каждый прочитанный символ сохраняется в массиве f с помощью оператора =, а переменная i увеличивается на 1.
  7. После окончания цикла выводится на экран текст, сохраненный в массиве f, с помощью функции printf(Text:\n%s!\n, f).
  8. Функция fclose(file) закрывает файл после выполнения всех операций.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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