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