回答編集履歴
1
修正
test
CHANGED
@@ -27,6 +27,21 @@
|
|
27
27
|
x->Games = game;
|
28
28
|
}
|
29
29
|
return x;
|
30
|
+
}
|
31
|
+
|
32
|
+
SoccerRecord* make_record_from_csv(const char* line) {
|
33
|
+
const char* delim = ",\t\n";
|
34
|
+
char* buf = _strdup(line);
|
35
|
+
int ra = atoi(strtok(buf, delim));
|
36
|
+
char* na = strtok(NULL,delim);
|
37
|
+
char* te = strtok(NULL,delim);
|
38
|
+
int ag = atoi(strtok(NULL, delim));
|
39
|
+
char* co = strtok(NULL,delim);
|
40
|
+
int nu = atoi(strtok(NULL, delim));
|
41
|
+
int ga = atoi(strtok(NULL, delim));
|
42
|
+
SoccerRecord* result = make_record(ra,na,te,ag,co,nu,ga);
|
43
|
+
free(buf);
|
44
|
+
return result;
|
30
45
|
}
|
31
46
|
|
32
47
|
typedef struct __SoccerNode {
|
@@ -74,41 +89,48 @@
|
|
74
89
|
list.head = NULL;
|
75
90
|
list.tail = NULL;
|
76
91
|
|
77
|
-
append(&list, make_record( 1, "ハーランド", "マンチェスターC", 22, "ノルウェー", 36, 33));
|
78
|
-
append(&list, make_record( 2, "ケーン", "トットナム", 29, "イングランド", 27, 36));
|
79
|
-
append(&list, make_record( 3, "トニー", "ブレントフォード", 27, "イングランド", 20, 33));
|
80
|
-
append(&list, make_record( 4, "サラー", "リバプール", 30, "エジプト", 19, 36));
|
81
|
-
append(&list, make_record( 5, "C・ウィルソン", "ニューカッスル", 31, "イングランド", 18, 29));
|
82
|
-
append(&list, make_record( 6, "ラッシュフォード", "マンチェスターU", 25, "イングランド", 16, 33));
|
83
|
-
append(&list, make_record( 7, "ウーデゴール", "アーセナル", 24, "ノルウェー", 15, 35));
|
84
|
-
append(&list, make_record( 7, "マルティネリ", "アーセナル", 21, "ブラジル", 15, 36));
|
85
|
-
append(&list, make_record( 9, "ワトキンス", "アストンビラ", 27, "イングランド", 14, 35));
|
86
|
-
append(&list, make_record(10, "サカ", "アーセナル", 21, "イングランド", 13, 36));
|
87
|
-
append(&list, make_record(11, "ロドリゴ", "リーズ", 32, "スペイン", 12, 29));
|
88
|
-
append(&list, make_record(11, "バーンズ", "レスター", 25, "イングランド", 12, 32));
|
89
|
-
append(&list, make_record(11, "ミトロビッチ", "フラム", 28, "セルビア", 12, 22));
|
90
|
-
append(&list, make_record(14, "アルミロン", "ニューカッスル", 29, "パラグアイ", 11, 32));
|
91
|
-
append(&list, make_record(15, "ガブリエル・ジェズス", "アーセナル", 26, "ブラジル", 10, 24));
|
92
|
-
append(&list, make_record(15, "イサク", "ニューカッスル", 23, "スウェーデン", 10, 20));
|
93
|
-
append(&list, make_record(15, "ソン・フンミン", "トットナム", 30, "韓国", 10, 34));
|
94
|
-
append(&list, make_record(15, "フォーデン", "マンチェスターC", 22, "イングランド", 10, 29));
|
95
|
-
append(&list, make_record(15, "マディソン", "レスター", 26, "イングランド", 10, 28));
|
96
|
-
append(&list, make_record(15, "マック・アリスター", "ブライトン", 24, "アルゼンチン", 10, 32));
|
97
|
-
append(&list, make_record(15, "エゼ", "クリスタルパレス", 24, "イングランド", 10, 36));
|
98
|
-
append(&list, make_record(22, "フィルミノ", "リバプール", 31, "ブラジル", 9, 23));
|
99
|
-
append(&list, make_record(22, "ヌニェス", "リバプール", 23, "ウルグアイ", 9, 29));
|
100
|
-
append(&list, make_record(24, "トロサール", "アーセナル", 28, "ベルギー", 8, 34));
|
101
|
-
append(&list, make_record(24, "アウォニイ", "ノッティンガム・フォレスト", 25, "ナイジェリア", 8, 25));
|
102
|
-
append(&list, make_record(24, "ジョンソン", "ノッティンガム・フォレスト", 21, "ウェールズ", 8, 36));
|
103
|
-
append(&list, make_record(24, "イングス", "ウエストハム", 30, "イングランド", 8, 33));
|
104
|
-
append(&list, make_record(24, "アルバレス", "マンチェスターC", 23, "アルゼンチン", 8, 28));
|
105
|
-
append(&list, make_record(24, "ギュンドアン", "マンチェスターC", 32, "ドイツ", 8, 30));
|
106
|
-
append(&list, make_record(24, "ウォード・プラウズ", "サウサンプトン", 28, "イングランド", 8, 36));
|
107
|
-
append(&list, make_record(24, "グロス", "ブライトン", 31, "ドイツ", 8, 34));
|
108
|
-
|
92
|
+
FILE* fp = fopen("data.csv","r");
|
109
|
-
|
93
|
+
char line[256];
|
94
|
+
while ( fgets(line, 256, fp) ) {
|
95
|
+
append(&list, make_record_from_csv(line));
|
96
|
+
}
|
97
|
+
fclose(fp);
|
110
98
|
print(&list);
|
111
99
|
return 0;
|
112
100
|
}
|
113
101
|
```
|
114
|
-
|
102
|
+
data.csv
|
103
|
+
```CSV
|
104
|
+
1, ハーランド, マンチェスターC, 22, ノルウェー, 36, 33
|
105
|
+
2, ケーン, トットナム, 29, イングランド, 27, 36
|
106
|
+
3, トニー, ブレントフォード, 27, イングランド, 20, 33
|
107
|
+
4, サラー, リバプール, 30, エジプト, 19, 36
|
108
|
+
5, C・ウィルソン, ニューカッスル, 31, イングランド, 18, 29
|
109
|
+
6, ラッシュフォード, マンチェスターU, 25, イングランド, 16, 33
|
110
|
+
7, ウーデゴール, アーセナル, 24, ノルウェー, 15, 35
|
111
|
+
7, マルティネリ, アーセナル, 21, ブラジル, 15, 36
|
112
|
+
9, ワトキンス, アストンビラ, 27, イングランド, 14, 35
|
113
|
+
10, サカ, アーセナル, 21, イングランド, 13, 36
|
114
|
+
11, ロドリゴ, リーズ, 32, スペイン, 12, 29
|
115
|
+
11, バーンズ, レスター, 25, イングランド, 12, 32
|
116
|
+
11, ミトロビッチ, フラム, 28, セルビア, 12, 22
|
117
|
+
14, アルミロン, ニューカッスル, 29, パラグアイ, 11, 32
|
118
|
+
15, ガブリエル・ジェズス, アーセナル, 26, ブラジル, 10, 24
|
119
|
+
15, イサク, ニューカッスル, 23, スウェーデン, 10, 20
|
120
|
+
15, ソン・フンミン, トットナム, 30, 韓国, 10, 34
|
121
|
+
15, フォーデン, マンチェスターC, 22, イングランド, 10, 29
|
122
|
+
15, マディソン, レスター, 26, イングランド, 10, 28
|
123
|
+
15, マック・アリスター, ブライトン, 24, アルゼンチン, 10, 32
|
124
|
+
15, エゼ, クリスタルパレス, 24, イングランド, 10, 36
|
125
|
+
22, フィルミノ, リバプール, 31, ブラジル, 9, 23
|
126
|
+
22, ヌニェス, リバプール, 23, ウルグアイ, 9, 29
|
127
|
+
24, トロサール, アーセナル, 28, ベルギー, 8, 34
|
128
|
+
24, アウォニイ, ノッティンガム・フォレスト, 25, ナイジェリア, 8, 25
|
129
|
+
24, ジョンソン, ノッティンガム・フォレスト, 21, ウェールズ, 8, 36
|
130
|
+
24, イングス, ウエストハム, 30, イングランド, 8, 33
|
131
|
+
24, アルバレス, マンチェスターC, 23, アルゼンチン, 8, 28
|
132
|
+
24, ギュンドアン, マンチェスターC, 32, ドイツ, 8, 30
|
133
|
+
24, ウォード・プラウズ, サウサンプトン, 28, イングランド, 8, 36
|
134
|
+
24, グロス, ブライトン, 31, ドイツ, 8, 34
|
135
|
+
32, 三笘, ブライトン, 25, 日本, 7, 30
|
136
|
+
```
|