1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
int nb_ligne()
{
int i=0;
char test[TAILLE]="";
FILE *scores=NULL;
scores=fopen("test.txt","r");
if(scores!=NULL)
{
while(!feof(scores))
{
fgets(test,TAILLE,scores);
i++;
}
printf("\nNb de ligne = %d",i);
fclose(scores);
}
else
{
printf("impossible d'ouvrir le fichier");
exit(0);
}
return i;
}
void rf_scores(int coef)
{
int i=0;
score *xjoueur=NULL;
FILE *scores=NULL;
xjoueur=malloc(coef*sizeof(xjoueur));
if(xjoueur==NULL)exit(0);
for(i=0;i<coef;i++)
{
memset(xjoueur[i].nom,0,sizeof(xjoueur->nom));
memset(&xjoueur[i].moyenne,0,sizeof(xjoueur->moyenne));
memset(&xjoueur[i].partie,0,sizeof(xjoueur->partie));
printf("\n_-_- %s %f %d",xjoueur[i].nom,xjoueur[i].moyenne,xjoueur[i].partie);
//je printf avec ma struct indicé pour verifier et le nombre de ligne de tableau créée et l'initialisation =>OK
}
scores=fopen("test.txt","r+");
if(scores!=NULL)
{
rewind(scores);
for(i=0;!feof(scores);i++)
{
fscanf(scores,"%s %f %d",xjoueur[i].nom,&xjoueur[i].moyenne,&xjoueur[i].partie);
//j'attribue au ligne du tableau de struct les différentes valeur contenues dans mon fichier =>OK
}
for(i=0;i<coef;i++)
{
printf("\n---%s %f %d",xjoueur[i].nom,xjoueur[i].moyenne,xjoueur[i].partie);
//je printf les valeur dans une boucle différentes pour verifier qu'elle sont bien stocké et non lue en meme temps =>OK
}
free(xjoueur);
fclose(scores);
}
else
{
printf("impossible d'ouvrir le fichier");
exit(0);
}
} |