zlib & crc32
От: Kingofastellarwar Украина  
Дата: 08.04.11 19:15
Оценка:
был у меня класс зипер, который добвлял в архив файл одним вызовом

int crc = crc32(0, (const Bytef *)data, size);
zipOpenNewFileInZip3(Zip, path, &zipfi, null, 0, null, 0, null, Z_DEFLATED, Z_DEFAULT_COMPRESSION, 0, 15, 8, Z_DEFAULT_STRATEGY, null, crc);
zipWriteInFileInZip(Zip, data, size)

т.е. я считал зачем-то crc32 и писал веcь файл одним вызовом zipWriteInFileInZip

а теперь переделал этот класс, чтобы можно было писать блоками
соотв. я считалку црц убрал — ибо откуда я знаю crc если запись будет идти неизвестными блоками

zipOpenNewFileInZip(Zip, path, &zipfi, null, 0, null, 0, null, Z_DEFLATED, Z_DEFAULT_COMPRESSION)

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

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


как разрулить?
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.