Telecharger et extraire un rar

Fermé
brennius2705 Messages postés 240 Date d'inscription jeudi 27 juin 2013 Statut Membre Dernière intervention 26 octobre 2016 - 19 déc. 2014 à 22:40
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 19 déc. 2014 à 23:59
Bonjour,
Je possède des compétences moyennes en C, et je cherche a créer un programe qui télécharge un fichier et qui l'extrait dans un répertoire précis.

Merci de votre aide !
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
19 déc. 2014 à 23:29
Ok, si ça t'intéresse alors, tu vas être servi ;-). Donc, j'imagine pas de triche à utiliser des trucs tout fait ?

Tout d'abord, tu ne parles pas du protocole. Je pars donc du principe qu'il s'agit d'http.

Il faut donc écrire 3 fonctions :
httpOpen() pour ouvrir le socker,
httpRead() pour la lecture (lecture, gestion des codes retours, ...)
httpClose() pour la fermeture du socket.

Pour implémenter ces fonctions, il va te falloir étudier le protocole http (structure des en-têtes, ...).

Ensuite pour l'extraction, ça se complique encore. Déjà comptes-tu gérer les archives chiffrées ?
Quelques étapes à réaliser :
Ouverture du fichier
Vérification qu'il s'agit d'un RAR
Allocation
Lecture (là, il faut connaître la structure de la compression RAR, ça se trouve sur internet)
Désallocation
Fermeture.

On est sur un projet de plus de mille lignes là je pense :-).

Note 1 : évite la fonction system("..."); (il y en a qui vont te le proposer ^^) ça donne l'illusion de programmer en C, mais en fait c'est plutôt du batch...

Note 2 : si tu utilises des bibliothèques gérant ça, tu vas gagner beaucoup de temps, et économiser pas mal d'aspirines. Mais si tu veux encore plus économiser du temps, tu peux le faire en batch et en 1 ligne c'est fait :-).

Bon courage.

Cdlt,
1
brennius2705 Messages postés 240 Date d'inscription jeudi 27 juin 2013 Statut Membre Dernière intervention 26 octobre 2016 9
19 déc. 2014 à 23:42
Merci de ta réponse, je vais me renseigner.

Je pense aussi que c'est compliqué, est-possible d'inclure le .bat dans le code ? Ce serait plus facile non ?

Le serait uploadé par moi meme, donc je suis sur qu'il ne sera pas crypté.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
19 déc. 2014 à 23:59
Le coup du .bat dans le code, c'était l'objet de ma note 1.
Avec la fonction system(""); tu peux t'en sortir mais ça n'est pas du C... Donc du coup, aucun intérêt. Autant tout faire en batch directement. Enfin après c'est toi qui vois ;-).
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
19 déc. 2014 à 23:04
Bonjour,

Avant de rentrer dans le sujet, pourquoi le faire en C ? Il y a beaucoup plus adapté...
0
brennius2705 Messages postés 240 Date d'inscription jeudi 27 juin 2013 Statut Membre Dernière intervention 26 octobre 2016 9
19 déc. 2014 à 23:06
Parceque ca m'intéresse de faire en C, et de combiner avec ce que je sais déja faire.
0