Se connecter avec
S'enregistrer | Connectez-vous

Telecharger un fichier du web en C++

Dernière réponse : dans Programmation

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

Lassé par la pub ? Créez un compte

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.

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 ...

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/" 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 ;) 

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.

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.

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.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde