回答編集履歴
3
軽微な修正
answer
CHANGED
@@ -2,7 +2,8 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
```c
|
5
|
-
#include<curl/curl.h>
|
5
|
+
#include <curl/curl.h>
|
6
|
+
#include <stdio.h>
|
6
7
|
#define MAX_LINE 128
|
7
8
|
|
8
9
|
int main(int argc,char *argv[]){
|
2
軽微な修正
answer
CHANGED
@@ -2,8 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
```c
|
5
|
-
#include
|
5
|
+
#include<curl/curl.h>
|
6
|
-
#include <stdio.h>
|
7
6
|
#define MAX_LINE 128
|
8
7
|
|
9
8
|
int main(int argc,char *argv[]){
|
@@ -17,8 +16,8 @@
|
|
17
16
|
|
18
17
|
fp = fopen("URL.txt","r");
|
19
18
|
if (!fp) {
|
20
|
-
|
19
|
+
perror("fopen");
|
21
|
-
|
20
|
+
return -1;
|
22
21
|
}
|
23
22
|
|
24
23
|
while (fgets(buffer, MAX_LINE, fp) != NULL) {
|
@@ -26,34 +25,34 @@
|
|
26
25
|
char *p = strpbrk(buffer, "\r\n");
|
27
26
|
if (p) *p = 0x00;
|
28
27
|
|
29
|
-
|
28
|
+
sprintf(str,"image%d.jpg",i);
|
30
29
|
|
31
|
-
|
30
|
+
/* curl 変数が初期化されていない */
|
32
|
-
|
31
|
+
curl = curl_easy_init();
|
33
|
-
|
32
|
+
curl_easy_setopt(curl, CURLOPT_URL, buffer);
|
34
|
-
|
33
|
+
fp2 = fopen(str,"wb");
|
35
|
-
|
34
|
+
if (!fp2) {
|
36
|
-
|
35
|
+
perror("fopen");
|
37
|
-
|
36
|
+
return -1;
|
38
|
-
|
37
|
+
}
|
39
|
-
|
38
|
+
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error);
|
40
39
|
|
41
40
|
/* CURLOPT_WRITEFUNCTION が設定されてない */
|
42
|
-
|
41
|
+
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, fwrite);
|
43
|
-
|
42
|
+
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp2);
|
44
43
|
|
45
|
-
|
44
|
+
res = curl_easy_perform(curl);
|
46
45
|
/* curl 変数がクリアされていない */
|
47
46
|
curl_easy_cleanup(curl);
|
48
47
|
|
49
|
-
/*
|
48
|
+
/* fp2 は都度閉じないとリークする */
|
50
49
|
fclose(fp2);
|
51
50
|
|
52
51
|
if (res != CURLE_OK) {
|
53
52
|
fprintf(stderr, error);
|
54
53
|
return -1;
|
55
|
-
|
54
|
+
}
|
56
|
-
|
55
|
+
i++;
|
57
56
|
}
|
58
57
|
fclose(fp);
|
59
58
|
|
1
軽微な修正
answer
CHANGED
@@ -2,11 +2,12 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
```c
|
5
|
-
#include<curl/curl.h>
|
5
|
+
#include <curl/curl.h>
|
6
|
+
#include <stdio.h>
|
6
7
|
#define MAX_LINE 128
|
7
8
|
|
8
9
|
int main(int argc,char *argv[]){
|
9
|
-
int i=1;
|
10
|
+
int i = 1;
|
10
11
|
char str[64];
|
11
12
|
FILE *fp,*fp2;
|
12
13
|
char buffer[MAX_LINE];
|