Curl

manta7 Messages postés 105 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 13 décembre 2008 - 16 févr. 2008 à 23:10
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 17 févr. 2008 à 11:27
Je débute avec cette librairie cul et j'ai le code suivant :

#include <stdio.h>
#include <curl/curl.h>
#include <stdlib.h>

char * ptrbuffer;
size_t taille;

size_t buffer(void *ptr, size_t size, size_t nmemb, void *stream)
{
int i;
taille = size*nmemb;
ptrbuffer=(char*)malloc(taille);
wmemcpy(ptrbuffer,ptr,taille); //wmemcpy plus adapté que memecpy pour les caractères
for(i=0;i<taille;i++){putchar(ptrbuffer[i]);}// J'affiche la page une première fois pour tester et elle s'affiche sans problème
}

void lecture()
{
int i=0;
for(i=0;i<taille;i++){putchar(ptrbuffer[i]);} //ma fonction lecture qui devrai me permettre d'afficher la page quand je veut, mais elle n'affiche que la fin de la page....j'ai ajouté printf("-"); pour pouvoir distinguer cet affichage de celui réalisé dans "buffer"

}

int main(void)
{
    CURL *handle;
    handle = curl_easy_init();
    curl_easy_setopt(handle, CURLOPT_URL, "www.perdu.com/");
    curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, buffer);
    curl_easy_perform(handle);
    curl_easy_cleanup(handle);
    lecture();
}

Il stocke dans ptrbuffer la source d'une page;
Mais j'ai un petit souci, j'aimerai que la fonction curl_easy_setopt n'affiche pas la source en meme temps.
Pourtant j'ai pas regardé dans les librairies curl, pas moyen de voir ou est ce que y'a un affichage .

1 réponse

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 févr. 2008 à 11:27
Je ne connais pas curl mais:

"wmemcpy plus adapté que memecpy pour les caractères" -> wmemcpy est utilisé pour la copie de wchar_t, je ne comprends pas pourquoi tu l'utilises ici

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
Rejoignez-nous