Langage c : copier un fichier vers un autre

Fermé
Katarina - 17 avril 2003 à 12:48
malaik5 Messages postés 258 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 28 novembre 2013 - 19 janv. 2011 à 15:45
Bonjour

j'aimerais savoir comment copier le contenu d'un fichier vers un autre en langage c
FILE *fichier1,fichier2;

ce sont deux fichiers séquentiels de type ascii
A voir également:

2 réponses

letissya Messages postés 89 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 8 novembre 2005 5
17 avril 2003 à 13:40
pour cela tu dois ouvrir tes deux fichiers

lire ligne à ligne le contenu du fichier 1
et tu écris ces mêmes lignes dans le fichier 2


voilà un exemple :

/* Déclarations : */
/* Noms des fichiers et pointeurs de référence */
char ANCIEN[] = "FICHIER1.TXT";
char NOUVEAU[] = "FICHIER2.TXT";
FILE *INFILE, *OUTFILE;
/* Autres variables */
char NOM[30], PRENOM[30];
int MATRICULE;

/* 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);
}

/* Copie de tous les enregistrements */
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);
}
/* Fermeture des fichiers */
fclose(OUTFILE);
fclose(INFILE);


Letissya
3