Salut à tous,
je suis novice en C, je solicite donc votre aide...
Je suis en train de programmer un démineur en C sous Windows avec Dev C++, et je souhaiterais écrire les meilleurs temps dans un fichier texte.
J'ai utilisé la fonction fgetc pour lire dans le fichier texte, le probleme c'est qu'elle ne récupère qu'un seul caractère. Or j'aimerai pouvoir lire et écrire des temps supérieur à 9 secondes :-)
Voici la fonction que j'ai déjà écrite :
void meilleur_temps(int temps,int rep) // temps = temps d'execution du programme ; rep = niveau de difficulté
{
//t[0] : temps niveau facile
//t[1] : temps niveau moyen
//t[2] : temps niveau dificile
int i=0;
char car,t[3];
FILE *f;
f=fopen("meilleur_temps.txt","r+b");
if(f==NULL)
{
perror("erreur ouverture");
return;
}
// recuperation des meilleurs temps dans le fichier texte
while ((car = fgetc(f)) != EOF)
{
if (car != '\n')
{
t[i]=car;
i++;
}
else i--;
}
//mise a jour du fichier texte contenant les records
if(temps<t[rep])
{
t[rep]=temps; // nouveau temps pour le niveau choisi
rewind(f); // on se place au debut du fichier
for(i=0;i<3;i++)
{
if(i==rep) fprintf(f,"%d",t[i]);
else fprintf(f,"%c",t[i]);
fprintf(f,"\r\n");
}
}
fclose(f);
}
merci de me répondre.Configuration: Windows XP
Internet Explorer 7.0

