Форум программистов, компьютерный форум CyberForum.ru

Чтение .rar - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
mirror2u
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 20
19.09.2012, 21:55     Чтение .rar #1
Привет всем! Задача состоит в том, чтобы написать программу выводящую на экран информацию о файле в rar-архиве, т.е : имя файла, размеры до и после запаковки, CRC, код ОС в которой был создан файл, дату создания. Имеется структура rar http://www.win-rar.ru/support/knowle...il.php?ID=1081 . Первый раз с таким сталкиваюсь, объясните на примере пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
19.09.2012, 22:08     Чтение .rar #2
Может тебе будет проще использовать библиотеку UnRAR (http://www.rarlab.com/rar/UnRARDLL.exe) ?
mirror2u
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 20
19.09.2012, 22:30  [ТС]     Чтение .rar #3
Цитата Сообщение от lazybiz Посмотреть сообщение
Может тебе будет проще использовать библиотеку UnRAR (http://www.rarlab.com/rar/UnRARDLL.exe) ?
Возможно, только я не имею малейшего понятия как её использовать. Может у вас есть ссылки, откуда можно почитать про неё?
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
19.09.2012, 22:32     Чтение .rar #4
Там в архиве есть вся документация. ( /Documentation/index.htm )
mirror2u
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 20
19.09.2012, 22:59  [ТС]     Чтение .rar #5
lazybiz не могли бы вы привести пример получения имени архива, например, с помощью этой библиотеки? Буду вам очень признателен.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
19.09.2012, 23:25     Чтение .rar #6
mirror2u, мог бы, но не буду. Если тебе это было бы интересно, то ты предпринял бы хоть какие-то усилия.
mirror2u
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 20
20.09.2012, 09:42  [ТС]     Чтение .rar #7
Цитата Сообщение от lazybiz Посмотреть сообщение
mirror2u, мог бы, но не буду. Если тебе это было бы интересно, то ты предпринял бы хоть какие-то усилия.
Например какие? Это раздел для новичков, т.е. для людей только начинающих изучать язык. Если человек никогда не видел этой библиотеки и никогда не занимался извлечением информации из rar-архивов и других файлов, то без каких-либо примеров сделать это почти нереально. Ну а если вы посоветовали использовать эту библиотеку и умеете с ней работать, то почему бы не привести пример для новичков и разъяснить что да как?
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 10:59     Чтение .rar #8
Новичков такие вопросы интересовать не должны))
В твоем положении правильнее было бы спросить как подключить библиотеку, предоставив какой-нибудь код в виде попытки осуществить это...
Я с этой библиотекой никогда не работал, как и ты. Для того чтобы с ней разобраться нам обоим следует приложить какие-то усилия, согласен!? Для кого-то это будет сложнее, для кого-то проще.
Давай так: ты предоставишь свою (хоть какую-то) попытку сделать это, с пояснениями что у тебя не получилось, а я постараюсь направить тебя на истинный путь (с подсказками и примерами).

Добавлено через 1 минуту
Цитата Сообщение от mirror2u Посмотреть сообщение
Например какие?
Да хоть какие. Сделай так чтобы я тебе поверил что ты хоть что-то можешь и тебе это интересно.
Если ты не понимаешь элементарных вещей, тогда начни с основ (простейшая программа, функции и т.п.)
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
20.09.2012, 12:51     Чтение .rar #9
Цитата Сообщение от mirror2u Посмотреть сообщение
не могли бы вы привести пример получения имени архива, например, с помощью этой библиотеки?
Имя архива изначально известно, ведь в нём ты копаться и собрался...
unrar.exe это не библиотека, а консольная программа для распаковки архива.

Добавлено через 3 минуты
Цитата Сообщение от mirror2u Посмотреть сообщение
объясните на примере пожалуйста.
RTFM, где русским по белому написано:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Обработка архива происходит следующим образом:
 
1. Читается и проверяется блок-маркер
2. Читается заголовок архива
3. Читаются или пропускаются HEAD_SIZE-размер(MAIN_HEAD) байт
4. Если обнаружен конец архива, то обработка архива прекращается, иначе
   читаются 7 байт в полях HEAD_CRC, HEAD_TYPE, HEAD_FLAGS, HEAD_SIZE.
5. Проверяется HEAD_TYPE.
     Если HEAD_TYPE==0x74
       прочитать заголовок файла (первые 7 байт уже прочитаны)
       прочитать или пропустить HEAD_SIZE-размер(FILE_HEAD) байт
     Если (HEAD_FLAGS & 0x100)
       прочитать или пропустить HIGH_PACK_SIZE*0x100000000+PACK_SIZE байт
     иначе
       прочитать или пропустить FILE_SIZE байт
     иначе
       прочитать соответствующий блок HEAD_TYPE:
         прочитать HEAD_SIZE-7 байт
         если (HEAD_FLAGS & 0x8000)
           прочитать ADD_SIZE байт
6. Перейти к шагу 4.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 12:54     Чтение .rar #10
Deviaphan,
Цитата Сообщение от Deviaphan Посмотреть сообщение
unrar.exe это не библиотека, а консольная программа для распаковки архива.
Про unrar.exe никто не говорит. Речь о UnRAR.dll. Это библиотека которой можно пользоваться: http://www.rarlab.com/rar_add.htm Читай описание второй ссылки сверху.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2012, 12:56     Чтение .rar
Еще ссылки по теме:

чтение C++
UnRAR ! RAR decompres class C++
чтение из файла C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Deviaphan
20.09.2012, 12:56     Чтение .rar
  #11

Не по теме:

Точна, не разглядел.

Yandex
Объявления
20.09.2012, 12:56     Чтение .rar
Ответ Создать тему
Опции темы

Текущее время: 16:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru