Переписать содержимое одного текстового файла в другой, но без пустых строк. - C (СИ)

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

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

Переписать содержимое одного текстового файла в другой, но без пустых строк.

Решение задачи: «Переписать содержимое одного текстового файла в другой, но без пустых строк.»

textual
Листинг программы
#include <stdio.h>
 
int main()
{
 char file_name[16];
 char c;
 unsigned char read_space;
 FILE *f;
 
 scanf("%s",file_name);
 
 f = fopen(file_name,"r");
 if(f == NULL)
 {
  printf("Unable to open file %s",file_name);
  return 0;
 }
 
 read_space = 0;
 while( (c = getc(f)) != EOF)
 {
  if(c == '\n' && read_space == 1)
  {
   read_space = 0;
   fprintf(stdout,"%c",c);
  }
  else
  {
   read_space = 1;
   fprintf(stdout,"%c",c);
  }
 }
 
 
 fclose(f);
 return 0;
}

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

  1. Ввод имени файла с помощью функции scanf.
  2. Открытие файла с помощью функции fopen.
  3. Проверка на успешное открытие файла.
  4. Инициализация переменной read_space значением 0.
  5. Чтение файла посимвольно с помощью функции getc до достижения конца файла (EOF).
  6. Если текущий символ равен символу новой строки (\n) и переменная read_space равна 1, то:
    • Сбрасываем значение переменной read_space обратно в 0.
    • Выводим текущий символ на stdout с помощью функции fprintf.
  7. Если текущий символ не равен символу новой строки (\n), то:
    • Устанавливаем значение переменной read_space равным 1.
    • Выводим текущий символ на stdout с помощью функции fprintf.
  8. Закрытие файла с помощью функции fclose.
  9. Возврат значения 0, что означает успешный конец работы программы.

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


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

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

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