для Visual C++
Имеются текстовые файлы, с именами, содержащими дату их создания.
Необходимо сравнить файлы с разными датами и вывести строку чем они отличаются.
Файлы эти большие — содердимое реестра.
чтоб сравнить нужно может разбить на части по длине ?
как лучше это проделать?подскажите плиз
14.01.08 17:23: Перенесено модератором из 'C/C++' — Кодт
Здравствуйте, findmen_zh, Вы писали:
_>для Visual C++ _>Имеются текстовые файлы, с именами, содержащими дату их создания. _>Необходимо сравнить файлы с разными датами и вывести строку чем они отличаются. _>Файлы эти большие — содердимое реестра.
А при чём тут Visual C+ и вообще C++? _>чтоб сравнить нужно может разбить на части по длине ? _>как лучше это проделать?подскажите плиз
а WinMerge не подходит?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, findmen_zh, Вы писали:
V>>А при чём тут Visual C+ и вообще C++? V>>а WinMerge не подходит? _>это курсовая работа, которую нужно сделать именно так
Тогда смотри исходники winmerg'а
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, findmen_zh, Вы писали:
_>для Visual C++ _>Имеются текстовые файлы, с именами, содержащими дату их создания. _>Необходимо сравнить файлы с разными датами и вывести строку чем они отличаются. _>Файлы эти большие — содердимое реестра. _>чтоб сравнить нужно может разбить на части по длине ? _>как лучше это проделать?подскажите плиз
В общем ТЗ никакое...
1. самое простое читай посимвольно из каждого файла и сравнивай совпали или нет...
2. ну а если серьезно (попробую прочесть между строк)...
скорее всего, тебе нужно сравнить два reg файла. самое простое,
2.1 читаешь первый файл, загоняя все пары ключь реестра => значение в ассоциативный массив.
2.2 читаешь второй файл, причем проверяешь есть ли такой ключ реестра уже в массиве, и если нет, или его значения не совпадают, то обрабатываешь их соотвествующим образом, ну и удаляешь ключ.
2.3. обрабатываешь оставшиеся в мапе ключи, как не найденные во второй файле....
в общем где-то так...
ну или пиши подробно, что тебе надо то?
Меняю два проигрывателя, на один выигрватель! Возможна доплата... ;)
Здравствуйте, findmen_zh, Вы писали:
_>для Visual C++ _>Имеются текстовые файлы, с именами, содержащими дату их создания. _>Необходимо сравнить файлы с разными датами и вывести строку чем они отличаются. _>Файлы эти большие — содердимое реестра. _>чтоб сравнить нужно может разбить на части по длине ? _>как лучше это проделать?подскажите плиз
Лаба-то небось по динамическому программированию?
Имхо, тут нужен обычный diff — фактически поиск наибольшей общей подпоследовательности.
Чтобы не морочится со строками — тупо считаем простенький хеш каждой строки и используем его в качестве примитива.