Массив структур, заменяющих значения над собой
Итак, у меня есть приведенный ниже код, и я просто извлекаю различные вещи из файла и вводю их в массив структур, это "по-видимому" работает изначально, НО, когда я начинаю печатать его после того, как он закончил с файлом, который, как казалось, заменил все курсы и названия самой последней долей, странно, что это не происходит с целыми числами (классами), оценки действительно вводятся должным образом.
#include
#include
#include
struct student {
char *name;
char *course;
int grade;
};
void courseSort(struct student d[20], int size);
int main(void)
{
FILE* fp;
char* filename = "grades.csv";
char buffer[100];
char* name, *class;
char* del=",";
int grade, i, counter=0;
struct student d[20];
if((fp=fopen(filename, "r"))==NULL)
{
printf("unable to open %s\n", filename);
exit(1);
}
while(fgets(buffer, sizeof(buffer), fp) !=NULL)
{
name = strtok(buffer,del);
class=strtok(NULL,del);
grade = atoi(strtok(NULL,del));
d[counter].name=name;
d[counter].course=class;
d[counter].grade=grade;
printf("%s %s %d\n",d[counter].name,d[counter].course,d[counter].grade);
counter++;
}
printf("\n\n\n");
for(i=0;i