Se connecter / S'enregistrer
Votre question

Telecharger un fichier du web en C++

Tags :
  • Mise à jour
  • Programmation
Dernière réponse : dans Programmation
2 Avril 2007 15:45:02

Salut,

Je suis en train de creer un program en visual C++ 2005.
Le prog doit, lorsqu'on click sur un bouton, telecharger un fichier d'internet.
Quelqu'un connait une commande qui peux m'aider.
Ce qui serait niquel ca serait genre un fopen("www.monurl.com/monfichier.txt")

et ensuite je voudrais savoir comment enregistrer ce fichier dans le dossier "c:/mondossier/"

Ca a l'air pas trop compliqué, mais je trouve pas.
Ca fait deux heure que je retourne la bible de C++ 2005. Il est nul ce bouquin, ou alors c'est moi qui sait pas le lire.

Si quelqu'un peux me donner un coup de main ca serait super top mega cool de sa part.

Merci

Autres pages sur : telecharger fichier web

2 Avril 2007 15:51:32

Je ne suis pas trop sûr mais je pense que tu vas avoir besoin d'une library réseau.

Winpcap , ou dans ce genre là.
2 Avril 2007 16:57:45

Ouais mais non, ca a l'air trop compliqué, en plus il faut wincap sur toutes les machines sur lesquel le prog va tourner.
Merci quand meme pour ton aide.

Y'a pas un outil plus simple ?
Contenus similaires
2 Avril 2007 17:07:04

Ton programme doit télécharger le fichier dans le cadre d'une mise à jour?

2 Avril 2007 17:11:51

Oui, c'est exactement ca.
2 Avril 2007 17:17:31

Malheureusement je ne vois pas d'autres solution que d'utiliser une library réseau , ce que tu demandes nécessite une gestion de protocoles réseau.

Mais il doit bien avoir une library réseau qui ne nécessite pas l'installation d'un package particulier pour tourner.
2 Avril 2007 17:26:26

Ben je pensais a un truc genre ShellExecute("url").
Tu penses que ca pourrait marcher ?
Mais le soucis, c'est que ca ne sera pas automatique et qu'il faudra choisir le dossier pour enregistrer le fichier (c'est trop dure pour les utilisateurs finaux)
Encore merci pour tes reponses. J'vais essayer de m'orienter vers ce qu tu m'as dit.
Bon ben allez j'continue mes recherches alors ...
2 Avril 2007 21:03:21

Salut,

Tu peux tenté de dire à ton utilisateur qu'une nouvelle version est dispo, avant de l'envoyé sur ton site avec :
  1. system("start <a href="http://host.com/" rel="nofollow" target="_blank">http://host.com/</a>");

Ou de passer par le FTP en passant un fichier de commandes :
  1. system("ftp host.com < cmd");

(cmd étant le fichier de commandes)

Sinon tu peux passer par la libraire libcurl qui est pas mal, en prenant la source d'exemple, elle est facile à utiliser ;) 
3 Avril 2007 18:24:27

Merci Firelink,

C'est nikel comme code.
C'est possible d'avoir exactement la meme chose sans voir l'invite de command (shell) apparaitre.
Comme avec la fonction ShellExecute()
ca fait depuis ce matin que je buche dessus, et pas moyen ...
j'ai ecrit ca:

ShellExecute(NULL,"ftp -i -s:ftp_get.txt","ftp_get.txt",NULL,NULL,NULL);

avec dans l fichier ftp_get.txt :

open ftp.serveur.com 21
username
password
binary
get webfile.ext computerfile.ext
close
quit

Je suis en train de m'arracher les derniers cheveux qui sont sur ma tete.
4 Avril 2007 10:49:26

C'est bon, j'ai trouvé la solution qui tue.
Faut utiliser WinInet.lib
Une librairie de windows. Pas besoin d'ajouter des dll supplementaire ni composant COM.
Trés facile d'utilisation.
Je post le code dés que j'ai le temps.
4 Avril 2007 11:03:52

ouai mais c'est pas portable et ce seras jamais aussi puissant que QT

un example ici
5 Avril 2007 13:10:14

Si si,
C'est 100% portable.
C'est quoi QT ?
5 Avril 2007 13:13:59

Pardon j'avais pas vu le lien.
Ouais c'est clair que ca a l'air bien QT.
Je l'ai pas testé, mais ca semble simple.
Merci defaultuser.
je n'oublie pas de poster trés bientot les codes WinInet.
Trés peu de ligne de code, et ca a l'air bien puissant.
En tout cas c'est trés rapide d'execution.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS