次のコードは、入力ファイルの最後の行と同じ一連の行のみが含まれるように a を上書きしているようです。while ループを構成して、各バッファ行を配列の個別のインスタンスに格納するにはどうすればよいですか?
void readfile(const char *filename) {
FILE *f;
f = fopen(filename, "r");
char *a[500];
char *array[50];
char line_buffer[BUFSIZ];
char line=0;
//struct cal_event one[200];
while (fgets(line_buffer, sizeof(line_buffer), f)) {
++line;
a[line] = (char*) &line_buffer;
//printf("%s ", a[line]);
}
int l;
for(l=1; l<30; l++) {
printf("%s ", a[l]);
}
}