Les fichier en langage c

devoinfo -  
chuka Messages postés 965 Date d'inscription   Statut Membre Dernière intervention   -

salut à tout el monde

SVP j'ai un tp dont le role est de ajouter un enregistrement à la fin d'un fichier alors j'ai fais un code mais il me permet d'ajouter seulement l'enregistrement dans le fichier nouveau alors que il ne copier pas les enregistrement qui sont dans le ancien fichier ;voici le code que j'ai fais SVP corrigez moi le code et si vous avez une idée plus simple passez la moi et merci bien à l'avance :

#include <stdio.h>
#include <stdlib.h>
char ancien[30],nouveau[30],enreg[30],nomenre[30];
FILE *infile,*outfile;
int main(int argc, char *argv[])
{
do
{printf(" entrez l'ancien fichier\n");
scanf("%s",ancien);
infile=fopen(ancien,"r");
if(!infile)
printf(" impossible d'ouvrir le fichier %s\n",ancien);
}
while(!infile);

do
{printf(" entrez le nouveau fichier\n");
scanf("%s",nouveau);
outfile=fopen(nouveau,"w");
if(!outfile)
printf(" impossible d'ouvrir le fichier %s\n",nouveau);
}
while(!outfile);
// nouvelle enregistrement
printf(" entrez le nouveau enregistrement\n");
scanf("%s",enreg);

while(feof(infile))
{fscanf(infile,"%s\n",nomenre);
fprintf(outfile,"%s\n",nomenre);}
fprintf(outfile,"%s\n",enreg);

fclose(outfile);
fclose(infile);



system("PAUSE");
return 0;
}
A voir également:

1 réponse

chuka Messages postés 965 Date d'inscription   Statut Membre Dernière intervention   378
 
Salut,
tu rentres jamais dans ta boucle de copie...while(feof(infile)) modifie en while(!feof(infile))
@+
0