void AddNewPlayer (struct playerinfo **playerlist, int frags, char *name, char *team) { struct playerinfo *newplayer; newplayer = (struct playerinfo*)malloc(sizeof(struct playerinfo)); newplayer->next = NULL; newplayer->frags = frags; strcpy(name,newplayer->nickname); strcpy(team,newplayer->team); *playerlist = newplayer; } void DealWithPlayerInfo (struct playerinfo *playerlist, char *playstring) { char *newline; int frags; char name[32]; char team[8]; int i = 0; sscanf(playstring,"%*d %d %*d %*d \"%s\" \"%*s\" %*d %*d \"%s\"\n",&frags,&name,&team); newline = strstr(playstring,"\n"); AddNewPlayer (&playerlist, frags, name, team); while(newline && i < 5) { sscanf(newline,"%*d %d %*d %*d \"%s\" \"%*s\" %*d %*d \"%s\"\n",&frags,&name,&team); printf("%d",frags); printf("%s",name); printf("%s",team); AddNewPlayer (&playerlist, frags, name, team); newline = strstr(newline,"\n"); i++; } } void ShowPlayerList (struct playerinfo *playerlist) { struct playerinfo *wsk; while (wsk != NULL) { printf("%d",(*wsk).frags); printf("%s",(*wsk).nickname); printf("%s",(*wsk).team); wsk = (*wsk).next; } }