Bonjour a tous voila mon probleme: Comme vu dans un message precedent j'effectue un mise a jour de mon fichier de la maniere suivante:
->ouverture du fichier a mettre a jour
fopen(ancien fichier)
->ouverture d'un fichier tampon
fopen(fichier temp)
->copie des ligne valide d'un fichier a l'autre
->fermeture des deux fichiers
fclose(ancien fichier)
fclose(fichier temp)
->je renome fichier temp en ancien fichier
rename(fichier temp,ancien fichier)
-> Mon ancien fichier est maintenant a jour...
Ok tout ca marche bien mais au bout de 195 boucle le programme plante car il n'arrive plus a ouvrir ancien fichier!! Y-a t-il quelque chose que j'ai oublie? quelqu'un connait il la soluce?
Merci beaucoup
apres chaque fopen ou fclose ou rename ... et regarde le dernier
chiffre affiché, tu sauras alors à quel endroit ca plante (c'est mon
debugger perso ;D), mais si tu veux mon avis, je pense que ca vient
d'ailleurs dans ton code.
Essaye deja de faire le test que je viens de te dire et regarde d'ou vient le plantage.
FILE* ft=fopen( "temp.txt", "a");
if (ft==NULL)
perror("fopen");
Non seulement c'est plus propre, mais en plus tu auras une indication sur l'erreur.
Par contre tu peut faire voir le code entier de la fonction ou il y a ce bout de code ?
En fait j'ai utiliser ce bout de prog pour essayer une autre solution , en fait au depart je faisais comme ca:
if ((ft=fopen("temp.txt","w"))==NULL) // Open temp Logfile
{
printf("OPEN ERROR temp.txt \n");
exit(1);
}
Et pour ce qui est de la fonction en entier elle fait plus de 500 lignes...
Mais j'ai un ami qui a eu exactement le meme probleme (apres 195 cycle) mais il ne se souvient pas comment il a resolu le probleme....
Je vais essayer ton code au moins j'aurais le type d'erreur.
Merci de ton aide et si tu trouve la soluce n'hesite pas!!