• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Сравнить Содержимое 2-х Текстовых Файлов

  • Автор темы TankOo
  • Дата начала
T

TankOo

Добрый вечер!
Помогите решить задачу, пожалуйста. (с++)

Дано два текстовых файла. Сравнить их содержимое и в новый файл записать либо номер первой строки, в которой они различаются, либо сообщение о том, что файлы идентичны.

Заранее спасибо.
 
R

rrrFer

ICQ 395-546-218
решу платно.
Не хотите платно - пробуйте решить сами - мы поможем ДОделать.
 
T

TankOo

Спасибо, уже не надо. 2 часа в обнимку с учебником по с++ и решение готово.
Писала без кода потому, что не знала даже с чего начать. Всё оказалось куда проще, чем думала раньше)

C++:
#include <string.h>
#include <stdio.h>
#include <conio.h>


void main ()
{
int i=0;
FILE * fp1;
FILE * fp;
FILE * fp2;
char s[255];
char q[255];					
int w=1;
fp1=fopen("1.txt","r");
fp=fopen("2.txt","r");
fp2=fopen("3.txt","w");
if ((fp1!=NULL)&& (fp!= NULL)){
while ((!feof(fp1)) || (!feof(fp))) 
{					  
fgets(s,255,fp1); 
fgets(q,255,fp); 
int k=strcmp(s,q);
if (k==0) 
{
printf("okey"); 
w++;
}
else printf("%s,%d","no", w); break;

}}
fprintf(fp2, "%d", w); 
fclose(fp1);
fclose(fp);
fclose(fp2);
getch();
}

Ну он правда записывает в файл только в какой строке файлы различаются, а то, что идентичны -просто выводит надпись. Ну это не особо важно.
 
W

Whatka

хорошо,только
C++:
//
printf("okey\n");//просто для эстетики
//...
else{ printf("%s,%d","no", w); break;}//скобки нужны,без скобок выполняется 1 команда после оператора else
//
 
R

rrrFer

Код:
ifstream ifst1("in1.txt"), ifst2("in2.txt");
bool fl = true;
while (false == ifst1.eof() && false == ifst2.eof())
if (ifst1.get() != ifst2.get()) {
fl = false;
break;
}
if(ifst1.eof() || ifst2.eof()) fl = false;

if (fl == false) 
;// файлы не совпадают
else
;// файлы совпадают
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!