私は、異なる行の値を持つファイルをどのように読み込み、私がメモリに持っている値と比較して、より良いスコアを得るか知っておく必要があります。 (ファイルが読み込まとして開いており、このコードの一部は、同時に複数のフォーク()から実行される可能性があるので、同時に書き込み、など)ファイル:ファイルを読み込んでCの値を比較する方法は?
if (PuntuacioEquip(jugadors)>MaxPuntuacio && CostEquip(jugadors)<PresupostFitxatges)
{
//Compare with file
int fd, n;
TBestEquip info;
fd = open("best_teams.txt", O_RDONLY);
if (fd<0) panic("open");
while ((n=read(fd, &info, sizeof(info))) == sizeof(info)) {
//printf(cad,"equip %lld, puntuacio %d\n", info.Equip, info.Puntuacio);
//write(1,cad,strlen(cad));
if (info.Puntuacio>PuntuacioEquip(jugadors))
{
fd = open("best_teams.txt", O_WRDONLY|O_TRUNC|O_CREAT,0600);
if (fd<0) panic("open");
sprintf(cad,"%s Cost: %d Points: %d. %s\n", CostEquip(jugadors), PuntuacioEquip(jugadors));
write(fd,cad,strlen(cad));
}
}
// We have a new partial optimal team.
MaxPuntuacio=PuntuacioEquip(jugadors);
memcpy(MillorEquip,&jugadors,sizeof(TJugadorsEquip));
sprintf(cad,"%s Cost: %d Points: %d. %s\n", color_green, CostEquip(jugadors), PuntuacioEquip(jugadors), end_color);
write(1,cad,strlen(cad));
}
は、任意の助けに感謝。
よろしく、
スペイン語または英語の言語を選択することをお勧めします。この混合物は良い習慣ではないようです。 – arboreal84
何が問題ですか? –
別のファイルを更新している間に、あるファイルから読み込むことをお勧めします。終了したら、元のファイルを削除して新しいファイルの名前を変更します。 – Neil