1 | ||||||
Cравнить два файла, создать новый файл, в котором одинаковые данные сравниваемых файлов должны быть заполнены "нулями"28.10.2011, 12:29. Показов 2320. Ответов 5
Метки нет (Все метки)
есть код
требуется: сравнить два файла, создать новый файл, в котором одинаковые данные сравниваемых файлов должны быть заполнены "нулями", если данные разные скопировать их со второго файла по тому же адресу в новый файл.
0
|
28.10.2011, 12:29 | |
Ответы с готовыми решениями:
5
Найти количество чисел, где первые L битов должны быть нулями, и последние R битов должны быть нулями Разместить в памяти компьютера данное двоичное дерево, данные в вершинах должны быть заполнены случайными числами Работа с файлами. Даны три файла целых чисел. Создать новый файл, в котором чередовались бы элементы исходных файлов Файл: Создать новый файл, в котором чередовались бы элементы исходных файлов с одинаковыми именами. |
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|
28.10.2011, 22:51 | 2 |
Что за данные? Какого вида?
0
|
29.10.2011, 01:35 [ТС] | 3 |
бинарные файлы - *.bin
есть два файла одинакового размера по 512кб. Например от 1кб до 235кб данные в этих файлах одинаковые, с 236кб по 403кб разные и т.д. Нужно сравнить эти данные, то что одинаковое заполнить нулями, то что разное перенести с одно из них (всё делать в новом файле). Для полноты ясности приложу скриншот бинарного файла, открытого в hex-редакторе. Как видно до 249855 байт заполнено нулями (эти данные в обоих файлах одинаковые), с 249856 байт идут разные данные, взятые с одно из сравниваемых. Иными словами есть оригинальный файл и его модификация, вот мне и нужно вытащить изменения соблюдая адреса.
0
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
||||||
29.10.2011, 01:48 | 4 | |||||
Ну так и проверяйте в цикле:
Как вариант, пишите байты не во временный массив, а сразу в файл.
1
|
7 / 7 / 0
Регистрация: 23.08.2010
Сообщений: 24
|
|
27.02.2012, 17:54 | 5 |
помойку буфер это очень плохо сможешь комп по памяти свалить сравнивая так лучше взять какой нибудь изначально понятный формальный признак например дату изменения или лучше взять из cygwin утилиту diff и использовать ее в качестве основного инструмента сравнения файла или глянуть в ее исходник правда она на C++ но может разберешься
0
|
Почетный модератор
|
|
27.02.2012, 18:19 | 6 |
Конечно, если грузить в буфер сразу весь файл Хотя в данном случае надо очень постараться чтобы "комп по памяти свалить" выделив всего 1.5 Мб (max) памяти... Читайте кусками, например по 4 Кб, и будет Вам счастье.
0
|
27.02.2012, 18:19 | |
27.02.2012, 18:19 | |
Помогаю со студенческими работами здесь
6
Даны два файла, найти одинаковые элементы и выписать в новый файл Создать новый файл, в котором чередовались бы элементы исходных файлов Создать на основе файла новый файл в котором заменить каждый элемент исходного файла Создать новый файл с именем NameD, в котором чередовались бы элементы исходных файлов По символьному файлу с программой на языке С создать новый файл, в котором выполнены все директивы #include ( могут быть вложены ) Создать новый файл, в котором чередовались бы элементы исходных файлов с одним и тем же номером Создать новый файл с именем SE, в котором чередовались бы элементы исходных файлов с одним и тем же номером Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |