

質問しますよろしくお願いします。  
C言語でCURLを使用しウェブページを読み込み出力したいのですが、上手く行かず困っています。

以下コードになります。

[code]

    #include "stdio.h"
    #include "stdlib.h"
    #include "string.h"
    #include "curl/curl.h"
    
    struct Buffer{
        char *data;
        int data_size;
    };
    size_t buffer_writer(char *ptr,size_t size,size_t nmemb,void *stream){
        struct Buffer *buf = (struct Buffer *)stream;
        char block = size * nmemb;  
        if(!buf)return block ;
        if (!buf->data) {
            buf->data = (char *)malloc(block);
        }else{
            buf->data = (char *)realloc(buf->data,buf->data_size + size);
        }
        if(buf->data){
            memcpy(buf->data,ptr,block);
            buf->data_size += block;
        }
        printf("end");
        return block;
    }
    int main(int argc, const char * argv[]) {   
        struct Buffer *buf;
        buf = (struct Buffer*)malloc(sizeof(struct Buffer));
        buf->data = NULL;
        buf->data_size = 0;
        CURL *curl = curl_easy_init();
        curl_easy_setopt(curl, CURLOPT_URL,"https://www.yahoo.co.jp/");
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
        curl_easy_setopt(curl,CURLOPT_WRITEDATA,buf);
        curl_easy_setopt(curl,CURLOPT_HEADER,buffer_writer);
        curl_easy_cleanup(curl);
        printf("%d",buf->data_size);
        free(buf->data);
        free(buf);
        return EXIT_SUCCESS;
    }
    
[/code]

おかしなところがあれば、ご指摘をいただきたいです。  
この状態の結果は『0』です。


CC BY-SA 3.0
2017-04-24T06:21:12.877
34239
2017-04-24T06:31:08.810
2017-04-24T06:26:38.633
5044
20049
question
c
curlでページを読み込みソースを表示する。


curl_easy_setopt()は処理のセットアップであり、まだ何も行っていません。  
実際の実行はcurl_easy_perform(curl)を呼んでください。


CC BY-SA 3.0
2017-04-24T06:31:08.810
34240
2017-04-24T06:31:08.810
19716
34239
answer