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 .