Переписать в текстовый файл Т2 содержимое текстового файла Т1 без строк, содержащих цифры - C (СИ)

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

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

Help. Чистый си Разработать программу, переписывающую в текстовый файл Т2 содержимое текстового файла Т1, но без строк, содержащих цифры.

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. //Разработать программу, переписывающую в текстовый файл Т2 содержимое текстового файла Т1,
  5. // но без строк, содержащих цифры.
  6. int main()
  7. {
  8.     FILE *f1, *f2;
  9.     f1 = fopen("T1.txt", "r");
  10.     if(f1 == NULL){
  11.         fprintf(stderr, "File not found.Create and fill the data file T1.");
  12.         exit(1);
  13.     }
  14.     f2 = fopen("T2.txt", "w");
  15.     if(f2 == NULL){
  16.         fprintf(stderr, "Error opening file T2.");
  17.         exit(2);
  18.     }
  19.     int n = 0;
  20.     char s[128];
  21.     while(fgets(s, 128, f1)){
  22.         if(!strpbrk(s, "1234567890")){
  23.             if(fprintf(f2, "%s", s) < 0){
  24.                 fprintf(stderr, "File write error!");
  25.                 exit (3);
  26.             }
  27.         }
  28.         n++;
  29.     }
  30.     if(n == 0){
  31.         fprintf(stderr, "No data into file T1.Fill the data.");
  32.         exit(4);
  33.     }
  34.     fclose(f1);
  35.     fclose(f2);
  36.     return 0;
  37. }

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

  1. В начале программы подключаются необходимые библиотеки: stdio.h, string.h и stdlib.h.
  2. Затем следует объявление переменных:
    • f1 и f2 - файловые указатели, которые будут использоваться для работы с файлами;
    • n - счётчик, который будет использоваться для подсчёта количества строк, которые были успешно скопированы в файл Т2;
    • s - строка, которая будет использоваться для чтения строк из файла Т1 и их записи в файл Т2.
  3. Далее открывается файл Т1 для чтения (f1) и файл Т2 для записи (f2). Если один из файлов не может быть открыт, программа выводит сообщение об ошибке и завершает своё выполнение.
  4. В цикле while с помощью функции fgets считываются строки из файла Т1. Если строка не содержит цифр (проверка с помощью функции strpbrk и символов 1234567890), то она записывается в файл Т2 с помощью функции fprintf.
  5. После каждой успешной записи счётчик n увеличивается на единицу.
  6. Если в файле Т1 не было найдено ни одной строки без цифр, то выводится сообщение об ошибке и программа завершает своё выполнение.
  7. В конце программы файлы Т1 и Т2 закрываются с помощью функции fclose, а возвращаемое значение функции main равно 0, что означает успешное выполнение программы.

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


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

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

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы