открытие файла rar c - PullRequest
       3

открытие файла rar c

2 голосов
/ 18 августа 2010

Я должен написать код на C, чтобы извлечь защищенный паролем RAR-файл в Windows.Я понятия не имею, как это сделать.Кто-нибудь может предложить мне что-нибудь или предоставить пример кода?Я буду очень благодарен.

РЕДАКТИРОВАТЬ:

Это код, который я использую для открытия файла rar. В системной команде ranjit это пароль.Это дает ошибку undefined symbol_system в модуле + имя файла.Кто-нибудь может мне помочь??Я борюсь за это с двух дней.РЕДАКТИРОВАТЬ: Этот код открывает архив, но не распаковывает его.Если я использую команду unrar в командной строке, она извлекает файл.Что мне делать?

#include<stdio.h>
#include<stdlib.h>
int main(int argc, char **argv)
     {
     char file[20];
     char file2[50] = "F:\\Program Files\\WinRAR\\unrar.exe";
     printf("enter the name of the rar file : ");
     gets(file);
     puts(file);
     system(("%s e -p ranjit %s >C:\stdout.log 2>C:\stderr.log",file2, file));
     getchar();
     return 0;
     }

Ответы [ 2 ]

1 голос
/ 18 августа 2010

В дополнение к тому, что предлагает karlphilip, есть также несколько потенциально интересных ресурсов на http://www.rarlabs.com/rar_add.htm.

В частности, я думаю, UnRAR.dll и Источник UnRAR могут иметь значение. Я не могу действительно проверить это на моменте.

1 голос
/ 18 августа 2010

Использование библиотеки unrar - извлечение файлов в буфер файлового потока

Но если вы ищете чистый раствор C, взгляните на: http://www.unrarlib.org/

Цитата из их часто задаваемых вопросов: URARFileLib (короткое имя для библиотеки файлов RAR UniquE, также называемой unrarlib) - это бесплатная библиотека для программистов на С для доступа к архивам RAR. Другой подход , который я только что успешно протестировал, не требует использования внешних библиотек для распаковки rar-файлов. Используйте system () , чтобы вызвать инструмент командной строки (например, unrar ), уже установленный в вашей системе, для выполнения этой работы:

system("unrar x -ppassword protected_file.rar /destination_directory");

Например, допустим, защищенный файл был назван file.rar , пароль - 1234 , а каталог назначения - / home / user , вы вызовет system () со следующими параметрами:

system("unrar x -p1234 file.rar /home/user/");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...