以下代码似乎覆盖了 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]);
}
}