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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//Разработать программу, переписывающую в текстовый файл Т2 содержимое текстового файла Т1,
// но без строк, содержащих цифры.
int main()
{
    FILE *f1, *f2;
    f1 = fopen("T1.txt", "r");
    if(f1 == NULL){
        fprintf(stderr, "File not found.Create and fill the data file T1.");
        exit(1);
    }
    f2 = fopen("T2.txt", "w");
    if(f2 == NULL){
        fprintf(stderr, "Error opening file T2.");
        exit(2);
    }
    int n = 0;
    char s[128];
    while(fgets(s, 128, f1)){
        if(!strpbrk(s, "1234567890")){
            if(fprintf(f2, "%s", s) < 0){
                fprintf(stderr, "File write error!");
                exit (3);
            }
        }
        n++;
    }
    if(n == 0){
        fprintf(stderr, "No data into file T1.Fill the data.");
        exit(4);
    }
    fclose(f1);
    fclose(f2);
    return 0;
}

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

  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
Похожие ответы