Мне нужно сравнить два файла и создать новый с различиями этих двух, я просто знаю, сравнить файлы, чтобы показать, равны они или нет, но я не знаю, как я могу решить мою проблему.
Я ищу много информации о том, как сравнивать файлы, но я не нашел способа отобразить различия между этими двумя файлами. Это мой настоящий код.
Редактировать: файл может содержать более 1 строки данных, обычно, например, 30.
Текст не может быть удален, и сходство просто появляется в конце текста. Я имею в виду, что последняя строка текста файла всегда будет началом другого текста файла.
Это для домашней работы и инструкции: «Прочитайте файл хоста и проверьте, присутствует ли какая-либо строка в файле ip url, и, если их нет, необходимо записать их во временный файл».
#include <stdio.h>
void main()
{
FILE *f1, *f2;
int a, b;
f1 = fopen("D:\\product3\\test.txt","r");
f2 = fopen("D:\\product3\\test2.txt", "r");
if(f1 == NULL || f2 == NULL)
{
printf("Cannot read the files");
}
else
{
a = getc(f1);
b = getc(f2);
while (a != EOF && b != EOF)
{
a = getc(f1);
b = getc(f2);
if(a != b)
{
printf("");
}
}
if (a == b)
{
printf("\n The files are equal \n");
}
else if (a!=b)
{
printf("\n The files aren't equal \n");
}
else
{
printf("\n Error \n");
}
}
fclose(f1);
fclose(f2);
}
Содержимое файлов:
>Test.txt
AAA
aaa
bbb
BBB
111
>Test2.txt
AAA
aaa
bbb
BBB
111
333
444
555
6666
777
CCC
поэтому вывод должен быть:
>333
444
555
6666
777
CCC