Мне нужно распаковать / regzip файл для редактирования в моем C ++ в Windows - PullRequest
2 голосов
/ 11 декабря 2010

Я работаю над небольшим приложением, которое анализирует определенный файл, не шифрует, вносит изменения, повторно шифрует и сохраняет. Это работает хорошо, но для того, чтобы это работало, мне нужно распаковать его вручную, запустить приложение на выходе, а затем gzip, что из этого получится. Мне просто интересно, знает ли кто-нибудь элегантное решение / библиотеку, которую я могу использовать для автоматизации обоих этапов в приложении C ++, которое будет работать в Windows. Бонусные баллы, если он может определить, был ли файл сжат в первую очередь.

Большое спасибо!

1 Ответ

2 голосов
/ 11 декабря 2010

Злиб делает это.И CGZip реализует оболочку C ++ для него.И здесь является примером того, как определить, распакован ли данный файл.

Тестирование файлов GZIP

Во-первых, мы должны сослаться на "RFC 1952 GZIPСпецификация формата файла версия 4.3 ".Это документ, показанный на скриншоте.Он содержит полезную информацию о файловой структуре файлов GZIP.В нем говорится, что первые два байта содержат фиксированные значения:

ID1 (IDentification 1)

ID2 (IDentification 2)

Они имеют фиксированные значения ID1 = 31 (0x1f,\ 037), ID2 = 139 (0x8b, \ 213), чтобы определить файл в формате gzip.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...