#include <stdio.h> #include <stdlib.h> main() { /* Déclarations : */ /* Noms des fichiers et pointeurs de référence */ char ANCIEN[] = "A:\\INFORM.TXT"; char NOUVEAU[] = "A:\\INFBIS.TXT"; FILE *INFILE, *OUTFILE; /* Autres variables */ char NOM[30], PRENOM[30]; int MATRICULE; char NOM_NOUV[30], PRE_NOUV[30]; int MATRI_NOUV; /* Ouverture de l'ancien fichier en lecture */ INFILE = fopen(ANCIEN, "r"); if (!INFILE) { printf("\aERREUR: Impossible d'ouvrir " "le fichier: %s.\n", ANCIEN); exit(-1); } /* Ouverture du nouveau fichier en écriture */ OUTFILE = fopen(NOUVEAU, "w"); if (!OUTFILE) { printf("\aERREUR: Impossible d'ouvrir " "le fichier: %s.\n", NOUVEAU); exit(-1); } /* Saisie de l'enregistrement à ajouter */ printf("Enregistrement à ajouter : \n"); printf("Numéro de matricule : "); scanf("%d",&MATRI_NOUV); printf("Nom : "); scanf("%s",NOM_NOUV); printf("Prénom : "); scanf("%s",PRE_NOUV); /* Copie des enregistrements de l'ancien fichier */ while (!feof(INFILE)) { fscanf (INFILE, "%d\n%s\n%s\n", &MATRICULE, NOM, PRENOM); fprintf(OUTFILE, "%d\n%s\n%s\n", MATRICULE, NOM, PRENOM); } /* Ecriture du nouvel enregistrement à la fin du fichier */ fprintf(OUTFILE,"%d\n%s\n%s\n",MATRI_NOUV,NOM_NOUV,PRE_NOUV); /* Fermeture des fichiers */ fclose(OUTFILE); fclose(INFILE); return 0; }