Debian 9.2 Stretch でvimとgccでc言語を学んでいます。前回に引き続き、libcurlについて質問です。今回はあらかじめ取得したい画像のURLを記したテキストファイル(仮にURL.txtにする)から、書いてあるURLを一つずつ読み込んでlibcurlで画像を取得して、image1.jpg,image2.jpg・・・という名前で順番に保存していくプログラムを書いたつもりなんですが、うまく動作しません。画像ファイルはできるんですが、0バイトで、内容が保存されていません。どこが間違っているのでしょうか?詳しい方お願いします。ソースは以下です。
#include<curl/curl.h>
#define MAX_LINE 128
int main(int argc,char *argv[]){
int i=1;
char str[64];
FILE *fp,*fp2;
char buffer[MAX_LINE];
fp=fopen("URL.txt","r");
CURL *curl; CURLcode res; while(fgets(buffer,MAX_LINE,fp)!=NULL){ sprintf(str,"image%d.jpg",i); curl_easy_init(); curl_easy_setopt(curl,CURLOPT_URL,buffer); fp2=fopen(str,"wb"); curl_easy_setopt(curl,CURLOPT_WRITEDATA,fp2); res=curl_easy_perform(curl); long http_code=0; curl_easy_getinfo(curl,CURLINFO_RESPONSE_CODE,&http_code); i++; } fclose(fp); fclose(fp2);
return 0;
}
URL.txtの内容
http://www.wallpaper-box.com/sky/images/sky14.jpg
http://www.wallpaper-box.com/sky/images/sky15.jpg
http://www.wallpaper-box.com/sky/images/sky31.jpg
よろしくお願いします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/03/19 11:18