IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Charger un fichier en mémoire depuis une URL


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 126
    Points : 54
    Points
    54
    Par défaut Charger un fichier en mémoire depuis une URL
    Bonjour,

    Ma question est dans le titre: je cherche s'il existe une fonction (ou un code) simple qui permette de charger dans un buffer de type CHAR un fichier quelconque à partir de son URL.

    Merci de vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    La réponse qui ne te servira à rien: oui ca existe et oui, il est possible de charger un buffer de type char[]

    Au passage, en C++, il *pourrait* sembler intéressant de plutot utiliser une std::string ret autres *stringstream dans ton application (quitte à repasser en char[] pour la transmission/réception) pour t'éviter, entre autre, la série d'inconvéniants dûs à l'allocation d'une taille trop juste pour ton buffer

    La réponse qui te sera surement plus utile: regarde du coté des bibliothèques telles que libcurl (principalement si ton projet porte sur le protocole http et similaire) et du coté des communications client/serveur de manière générale
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 126
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par koala01
    regarde du coté des bibliothèques telles que libcurl
    J'avais déjà essayé avec libcurl, mais sans succès. Pas moyen de compiler les exemples soi-disant "testés" que j'ai pu trouver sur le net. Mais il me semble que mon compilateur me pose beaucoup de problèmes de compatibilité (DEV-C++).

    En gros c'est pour faire un programme qui affiche une image dans la zone client d'une fenêtre créée avec l'API WIN32. C'est l'utilisateur qui donne l'URL de l'image à afficher.

    Je vais encore essayer avec libcurl. Merci pour ta réponse.

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    As tu, entre autre, pensé à vérifier que l'éditeur de lien devait bien lier libcurl pour ton projet

    Sois également attentif au fait que l'API WIN32 n'est pas portable, au cas où la portablilité serait dans ton optique
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 126
    Points : 54
    Points
    54
    Par défaut
    Oui souvent le problème est dû à l'éditeur de liens. Mais je ne sais pas toujous quels sont les paramètres à lui donner.

    Par exemple si je dois inclure le fichier
    comment je fais pour savoir qu'il ajouter l'option
    à l'éditeur de lien? Ce n'est pas toujours bien expliqué sur les site que j'a pu trouver...

    Mon but n'est pas la portabilité. Par contre je veux au final un .exe autonome qui n'a besoin d'aucun autre fichier complémentaire. J'ai fait la bétise d'apprendre avec l'API WIN32, et maintenant que mon projet est bien avancé je ne peux pas tout changer et utiliser autre chose (plus tard je ferai sûrement).

  6. #6
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Ne serait-ce pas, tout simplement -lcurl
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  7. #7
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 126
    Points : 54
    Points
    54
    Par défaut
    Effectivement ça compile maintenant... Mais maintenant ce sontdes DLLs qui manquesJ'ai copié tous ceux que j'ai trouvé avec mon package libcurl dans le répertoire du projet, mais il en reste un qui est introuvable:

    libeay3.dll

    J vais voi si je peux pas le télécharger... Mais j'aimerais éviter d'avoi àutiliser des DLL car je voudrais un programme totalement autonome. Est-il possible à la compilation de demander à ce que les DLLs soient inclus dans le fichier .exe ?

    Merci en tout cas!

  8. #8
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par ValyGator
    qui permette de charger dans un buffer de type CHAR un fichier quelconque à partir de son URL.
    je ne connais pas du tout CHAR sous win32 et je doute que cela existe..il y a plutot TCHAR et _wchar pour wide character.
    Tu est obligé d'utiliser des types supportant Unicode et non un simple char.
    Tout est dans le MSDN et donc c'est du ressort du forum Dev Windows.
    Quel est l'API pour charger une URL ?

  9. #9
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 126
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Mat.M
    je ne connais pas du tout CHAR sous win32 et je doute que cela existe..
    Ca existe, c'est le type caractère (1 Byte) de base du C et du C++, peu importe que l'on soit sous DOS, WIN32, ou même Linux.

    Quel est l'API pour charger une URL ?
    Ca c'est justement ma question!

    Merci quand-même.

  10. #10
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    (Autant utiliser libcURLpp, non ?)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  11. #11
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par ValyGator
    Ca c'est justement ma question!

    Merci quand-même.
    ah bon maintenant je pige mieux
    eh bien pour charger un fichier htm il faut une connection Internet.
    Il faut voir les fonctions WinInet et les commandes HTTP mais cela ne sera pas portable.
    Chercher MSDN et WinInet

  12. #12
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 126
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Mat.M
    ah bon maintenant je pige mieux
    eh bien pour charger un fichier htm il faut une connection Internet.
    Il faut voir les fonctions WinInet et les commandes HTTP mais cela ne sera pas portable.
    Chercher MSDN et WinInet
    Merci, je crois que c'est exactement ce que je cherchais.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] Charger un fichier XML provenant d'une URL
    Par ovni dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 05/05/2011, 11h42
  2. Télécharger des fichiers depuis une URL
    Par nicox33 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/01/2008, 18h33
  3. Créer un fichier GIF à la volée depuis une URL
    Par arnobase dans le forum Langage
    Réponses: 5
    Dernier message: 30/08/2007, 10h42
  4. Téléchargement d'un fichier depuis une URL
    Par Fly3R dans le forum Windows Forms
    Réponses: 22
    Dernier message: 08/07/2007, 19h33
  5. [FLASH 8] Charger dynamiquement des bmp depuis une url
    Par matN59 dans le forum Intégration
    Réponses: 1
    Dernier message: 24/04/2006, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo