[c/win32] téléchargement de fichier avec api seulement.

Soyez le premier à donner votre avis sur cette source.

Vue 8 837 fois - Téléchargée 667 fois

Description

Yop à tous,

J'ai bien vu qu'il y a beaucoup de sources sur cppfrance permettant de télécharger des fichier via le net (http). Mais aucun avec les API wininet donc voila.

Vos remarques sont les bien venues si elles sont contructives.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
239
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
20 avril 2009

Salut,

Je suis peut-etre hors sujet ou je n'ai pas compris l'interet, mais j'ai toujours fait ca avec les api urlmon, et ca a l'air beaucoup plus simple.
Un exemple de prog (vite fait) qui prend en argument une url a telecharger et un nom de fichier pour sauver le contenu:

#include "stdafx.h"
#include

int main(int argc, char* argv[])
{
if(argc<3) return 1;

LPCSTR url = argv[1];
LPCSTR file = argv[2];
HRESULT hR = URLDownloadToFile(NULL,url,file,0,NULL);
if(!SUCCEEDED(hR)) return 1;
return 0;
}

Eric
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
J'avais pas testé l'exécutable :P
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Ce qui est marrant avec SAKingdom, c'est que le truc qui sert a rien et qui fait perdre 1 milliardième de seconde au cpu, il le repère tout de suite, alors que le fait que le prog prenne 60 mo de mémoire et qu'il consomme en permanence 10-20% de cpu pendant le download d'un fichier de 50 mo, ça le choque même pas.

Plus serieusement, le HeapAlloc() de la taille du fichier, je pense que ca fait un peu lourd. Et aussi, le bouton download reste disponible lors d'un download, ce qui fait qu'on peut lancer plusieurs fois le même download.
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
1
Oui c'est ce que je me suis dit aussi, je vien de re vérifier et en faite ce que je croyai être des caractères en trop sont en faites des caractères non imprimable qui dans le notepad prête à confusion.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
Tu obtenais des caractère en trop ? Ça ne devrait techniquement pas arriver.
Et puis d'ailleurs, WriteFile n'écrira pas le 0 de fin de chaine car tu lui dis d'écrire dwBytesRequired octet alors que le 0 se situe un octet plus loin. Étant donné que seul WriteFile utilise la chaine et qu'il ne prend même pas en compte de 0 de fin de chaine, on devrait pouvoir sans passer sans problèmes.
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.