#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct ufo {
char time[50];
char city[50];
char shape[50];
double lat;
double lon;
}UFO;
void printUfo(UFO ufo) {
printf("%s,%s,%s,%lf,%lf\n", ufo.time, ufo.city, ufo.shape, ufo.lat, ufo.lon);
}
int main() {
FILE *fp;
char line[256];
UFO ufo, list[80333];
int num=0;
if ((fp = fopen("ufo_sighting_data.csv", "r")) == NULL) { printf("file open error!\n"); exit(EXIT_FAILURE); } while (fgets(line, 256, fp) != NULL) { strcpy(ufo.time, strtok(line, ",\n")); strcpy(ufo.city, strtok(NULL, ",\n")); strcpy(ufo.shape, strtok(NULL, ",\n")); ufo.lat = atof(strtok(NULL, ",\n")); ufo.lon = atof(strtok(NULL, ",\n")); list[num] = ufo; num++; } fclose(fp); for (int i=0; i<num; i++) { printUfo(list[i]); } return 0;
}
コード
インデントがずれてますね。
```ここに言語を入力
コード
```
が表示されていれば
```①
②
```
①の個所にCと入力し
②の個所にあなたのソースを貼り付けます。
つまり、以下のようにします。
```C
あなたのソースをはりつけたもの
```
そうすると、きれいに、インデントがそろいます。
もし、
```ここに言語を入力
コード
```
がなければ
<code>をクリックしてください。
```ここに言語を入力
コード
```
が表示されます。
ufo_sighting_data.csvの内容を提示してください。(行数が多いなら、10程度でも構いません)
又、それは、およそ何行ありますか。
9/9/1995 22:50,silverdale,,47.6447222,-122.6936111
9/9/1996 05:30,savannah,disk,32.0833333,-81.1
9/9/1996 08:30,san francisco,oval,37.775,-122.4183333
9/9/1997 16:00,las vegas,formation,36.175,-115.1363889
9/9/1997 21:30,roseburg,light,43.2166667,-123.3405556
9/9/1998 01:25,tomah,cylinder,43.9786111,-90.5038889
9/9/1999 00:40,renton,light,47.4830556,-122.2158333
9/9/1999 05:00,los altos,circle,37.3852778,-122.1130556
9/9/1999 12:35,shasta/sand flat,fireball,40.650984,-122.363897
9/9/1999 19:00,marathon,disk,24.7133333,-81.0905556
9/9/1999 20:45,charlottetown (canada),disk,46.233333,-63.133333
9/9/1999 22:00,bothell,other,47.7625,-122.2041667
9/9/1999 22:00,mount shasta,,41.31,-122.3094444
9/9/1999 22:00,santa cruz,other,36.9741667,-122.0297222
9/9/1999 22:00,shasta/sand flat,disk,40.650984,-122.363897
80332行あります。
回答3件
あなたの回答
tips
プレビュー