Pb ecriture ds fichier

Signaler
Messages postés
13
Date d'inscription
mercredi 6 avril 2005
Statut
Membre
Dernière intervention
8 avril 2005
-
Messages postés
13
Date d'inscription
mercredi 6 avril 2005
Statut
Membre
Dernière intervention
8 avril 2005
-
bonjour,



voila j'ai un programme ou j'écrit dans un fichier des lignes, mais
parfois la ligne que j'insert dans le fichier s'écrit 20000 ou 60000
fois, je comprend po dou ca vien! voici mon code







int ecrire(FILE* fp,char* filename)

{

//ouverture en append du fichier filename pour écriture du nouveau poste créé

if(( fp=fopen(filename,"a+"))==NULL)

{

fprintf(stderr, "Erreur à l'ouverture du fichier %s \n\n", filename);

exit(1);

return 0;

}else{

//si l'ouverture du fichier se passe bien, alors on écrit les informations dedans

//on écrit donc le deplacement effectuee



fprintf(fp,"%s;",&statut);

fprintf(fp,"%s;",&num_inv);

fprintf(fp,"%s;",&nom);

fprintf(fp,"%s;",&nouveau_bat);

fprintf(fp,"%s",&nouveau_num_bureau);

fprintf(fp,"\n");

//fprintf(fp,"%s;",ctime (&date));



fclose(fp);

return 1;

}

}



et ya aucune boucle !



merci d'avance si qq a eu le meme probleme a++

3 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Faudrait mettre l'utilisation de cette fonction car en effet il n'a pas de boucle ici mais il doit bien y en avoir une qui appelle cette fct pour écrire plusieures lignes.

pour faire un printf (en fct dérivées) d'une chaîne c'est :
printf("%s", chaine);

faire printf("%s", &chaine) ne marche que pour les chaîne statiques (char chaine[12]) mais pas pour les dynamiques ou les char* chaine).
Messages postés
207
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
2 novembre 2006

Salut



Le mieux, ce serait que tu nous montres comment tu appelles la fonction
Ecrire dans ton prog, car apparemment, ici, il n'y a aucun pb, si ce
n'est ce que dit ymca2003.



Une explication possible de ton pb : apparemment, tu utilises des
variables globales (statut....) => peut-être qu'elle ne sont pas
mises à jour correctement avant d'être écrites.





L'intelligence, c'est comme les parachutes : quand on n'en a pas, on s'écrase
(Pierre Desproges)
Messages postés
13
Date d'inscription
mercredi 6 avril 2005
Statut
Membre
Dernière intervention
8 avril 2005

lol, ouais jespere que tu dit pas ca pour moi ^^

ba en fet le probleme venait de la fin du programme, je suis sur PDA et en mode console et qd je quitte mal, ou qd ca plante, et bein sa mé plein de merde ds le fichier, alors que si je quitte avec mon menu (return 1) alors ya pu d'écriture multiple ds le fichier voila! merki a tous