我正在完成一个赛车游戏,用户可以在其中创建冠军 有多个种族。
每场比赛都有他们的数据(圈数,最大用户数)和指向比赛中飞行员的链表的指针。
链表的每个飞行员都有一个指向数组的指针,用于存储每一圈的时间
基本上,我需要将冠军存储在二进制文件中,以便用户每次打开程序都可以继续获得冠军
import spacy
from spacy.attrs import ORTH, LEMMA
sent = "<sos> Hello There! <eos>"
nlp = spacy.load('en_core_web_sm')
nlp.tokenizer.add_special_case('<sos>', [{ORTH: "<sos>"}])
nlp.tokenizer.add_special_case('<eos>', [{ORTH: "<eos>"}])
for token in nlp(sent):
print(token.text)
我获得了这个冠军奖杯
typedef struct dataPair pair, *ppair;
typedef struct dataRace race, *prace;
struct dataRace{
int laps;
int size;
int maxUsers;
ppair pilots;
};
struct dataPair {
pilot p; //piloto
car c; //carro
int *times; // pointer for the times
ppair next;
};
例如,如果冠军赛有3场比赛,我可以通过
访问它们prace champ=getData() //ask's how many laps and then malloc(laps*sizeof(race))
我所做的读取功能
champ[0]\\ 1º race
champ[1]\\ 2º race
champ[2]\\ 3º race
我编写的写函数
f = fopen("champ.dat", "rb");
fread(&nraces, sizeof(int), 1, f); //read's how many races there are
prace champ=malloc(nraces*sizeof(race));
ppair headpil=NULL;
for(i=0; i<nraces; i++){
fread(&(champ[i]), sizeof(race),1, f);
npils=champ[i].maxUsers;
nlaps=champ[i].laps;
for(x=0;x<npils;x++){
ppair newpil=malloc(sizeof(pair));
fread(&newpil, sizeof(pair), 1,f);
fread(&nraces->times,nlaps*sizeof(int),1,f);
newpil->next=headpil;
headpil=newpil;
}
champ[i].pilots=headpil;
}
return champ;
我看不到保存的功能是否正常,因为读取的功能不正常