Проверка файлов на идентичность - C (СИ)
Формулировка задачи:
Нужно написать программу - "Напишите программу, которая определяет, является ли два набора PRVY.TXT и DRUHY.TXT же содержание. Программа не считывать данные из стандартного ввода. Если файлы имеют одинаковое содержание, программа показывает файлы идентичны, если файлы имеют одинаковое содержание, программа печатает количество различных символов с последующим пробелом, число различных символов в файле и завершится к концу строки. I-tу характер в одном файле следует рассматривать как отличается от I-го символа во второй группе, если существуют оба знака (т.е. установлены не меньше, чем Х символов) и соответствующие признаки не равны. Если файлы неравной длины, выход программы перечислены еще одно направление, содержащий доклад одного из файлов Х символов, где Х является количество символов, который является одним из файлов."
Ukážka súboru PRVY.TXT: ahoj Ukážka súboru DRUHY.TXT: ahujx * Výstup pre ukážkové súbory: Pocet roznych znakov: 1 Jeden zo suborov je dlhsi o 3 znakov Помоги те пожалуйста, очень нужна ваша помощь!!!! Заранее СПАСИБО!!!
Решение задачи: «Проверка файлов на идентичность»
#include <stdio.h> #include <assert.h> int main() { FILE* f1, * f2; int ch1 = 0, ch2 = 0, cnt = 0, tail = 0; assert((f1 = fopen("PRVY.TXT", "r"))); assert((f2 = fopen("DRUHY.TXT", "r"))); while ((ch1 != EOF) && (ch2 != EOF)) { ch1 = fgetc(f1); ch2 = fgetc(f2); cnt += (ch1 != ch2); } if (ch1 != ch2) { cnt--; tail = 1; f1 = (ch2 == EOF) ? f1 : f2; while ((ch1 = fgetc(f1)) != EOF) { tail++; } } if ((cnt == 0) && (tail == 0)) { printf("equals\n"); } else { printf("Pocet roznych znakov = %d\n", cnt); if (tail) { printf("Jeden zo suborov je dlhsi o %d znakov\n", tail); } } return 0; }
Объяснение кода листинга программы
Код сравнивает два текстовых файла построчно и подсчитывает количество различий между ними. Если файлы идентичны, выводится сообщение equals
. Если есть различия, выводится количество различий и сообщение о том, что один из файлов длиннее другого на определенное количество символов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д