как сравнить два текстовых файла
От: findmen_zh  
Дата: 12.01.08 15:57
Оценка:
для Visual C++
Имеются текстовые файлы, с именами, содержащими дату их создания.
Необходимо сравнить файлы с разными датами и вывести строку чем они отличаются.
Файлы эти большие — содердимое реестра.
чтоб сравнить нужно может разбить на части по длине ?
как лучше это проделать?подскажите плиз


14.01.08 17:23: Перенесено модератором из 'C/C++' — Кодт
Re: как сравнить два текстовых файла
От: Vain Россия google.ru
Дата: 13.01.08 12:02
Оценка:
Здравствуйте, findmen_zh, Вы писали:

_>для Visual C++

_>Имеются текстовые файлы, с именами, содержащими дату их создания.
_>Необходимо сравнить файлы с разными датами и вывести строку чем они отличаются.
_>Файлы эти большие — содердимое реестра.
А при чём тут Visual C+ и вообще C++?
_>чтоб сравнить нужно может разбить на части по длине ?
_>как лучше это проделать?подскажите плиз
а WinMerge не подходит?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[2]: как сравнить два текстовых файла
От: findmen_zh  
Дата: 13.01.08 14:28
Оценка:
Здравствуйте, Vain, Вы писали:

V>Здравствуйте, findmen_zh, Вы писали:



V>А при чём тут Visual C+ и вообще C++?

V>а WinMerge не подходит?

это курсовая работа, которую нужно сделать именно так
Re[3]: как сравнить два текстовых файла
От: don ASKet Россия  
Дата: 13.01.08 15:53
Оценка:
_>это курсовая работа, которую нужно сделать именно так

тогда прямая дорога к преподу...
ибо что он имел ввиду, ивестно только ему...
Меняю два проигрывателя, на один выигрватель! Возможна доплата... ;)
Re[3]: как сравнить два текстовых файла
От: Vain Россия google.ru
Дата: 13.01.08 17:20
Оценка:
Здравствуйте, findmen_zh, Вы писали:

V>>А при чём тут Visual C+ и вообще C++?

V>>а WinMerge не подходит?
_>это курсовая работа, которую нужно сделать именно так
Тогда смотри исходники winmerg'а
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re: как сравнить два текстовых файла
От: don ASKet Россия  
Дата: 14.01.08 08:43
Оценка:
Здравствуйте, findmen_zh, Вы писали:

_>для Visual C++

_>Имеются текстовые файлы, с именами, содержащими дату их создания.
_>Необходимо сравнить файлы с разными датами и вывести строку чем они отличаются.
_>Файлы эти большие — содердимое реестра.
_>чтоб сравнить нужно может разбить на части по длине ?
_>как лучше это проделать?подскажите плиз

В общем ТЗ никакое...
1. самое простое читай посимвольно из каждого файла и сравнивай совпали или нет...
2. ну а если серьезно (попробую прочесть между строк)...
скорее всего, тебе нужно сравнить два reg файла. самое простое,
2.1 читаешь первый файл, загоняя все пары ключь реестра => значение в ассоциативный массив.
2.2 читаешь второй файл, причем проверяешь есть ли такой ключ реестра уже в массиве, и если нет, или его значения не совпадают, то обрабатываешь их соотвествующим образом, ну и удаляешь ключ.
2.3. обрабатываешь оставшиеся в мапе ключи, как не найденные во второй файле....

в общем где-то так...
ну или пиши подробно, что тебе надо то?
Меняю два проигрывателя, на один выигрватель! Возможна доплата... ;)
Re: как сравнить два текстовых файла
От: Conr Россия  
Дата: 14.01.08 14:58
Оценка:
Здравствуйте, findmen_zh, Вы писали:

_>для Visual C++

_>Имеются текстовые файлы, с именами, содержащими дату их создания.
_>Необходимо сравнить файлы с разными датами и вывести строку чем они отличаются.
_>Файлы эти большие — содердимое реестра.
_>чтоб сравнить нужно может разбить на части по длине ?
_>как лучше это проделать?подскажите плиз
Лаба-то небось по динамическому программированию?

Имхо, тут нужен обычный diff — фактически поиск наибольшей общей подпоследовательности.
Чтобы не морочится со строками — тупо считаем простенький хеш каждой строки и используем его в качестве примитива.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.