• Предмет: Информатика
  • Автор: pol421339
  • Вопрос задан 5 месяцев назад

Имеются два текстовых файла с одинаковым количеством строк. Выяснить, совпадают ли их строки. Если нет, то получить номер первой строки, в которой эти файлы отличаются друг от друга. На Си​

Ответы

Ответ дал: gashitskiybodya
1

Ответ:

Объяснение:

#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()'.

Вас заинтересует