Имеются два текстовых файла с одинаковым количеством строк. Выяснить, совпадают ли их строки. Если нет, то получить номер первой строки, в которой эти файлы отличаются друг от друга. На Си
Ответы
Ответ:
Объяснение:
#include <stdio.h>
#include <string.h>
int main() {
FILE *file1, *file2;
char line1[100], line2[100];
int line_num = 0;
file1 = fopen("file1.txt", "r");
file2 = fopen("file2.txt", "r");
while (fgets(line1, 100, file1) != NULL && fgets(line2, 100, file2) != NULL) {
line_num++;
if (strcmp(line1, line2) != 0) {
printf("Files differ at line %d:\n", line_num);
printf("File 1: %s", line1);
printf("File 2: %s", line2);
fclose(file1);
fclose(file2);
return 0;
}
}
fclose(file1);
fclose(file2);
printf("Files are the same.\n");
return 0;
}
Программа открывает два файла file1.txt и file2.txt для чтения. Затем она последовательно читает строки из каждого файла, сравнивает их и печатает номер первой строки, в которой файлы отличаются друг от друга. Если файлы идентичны, программа сообщает об этом.
Примечание: предполагается, что каждая строка в файлах не превышает 100 символов. Если ваши файлы содержат строки, которые могут быть длиннее, увеличьте значение второго аргумента функции 'fgets()'.