1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| #include <stdio.h>
#include <stdlib.h>
int main (void)
{
int err = 0;
char tampon[256]="ma premiere ligne a copier";
char second_tampon[256]="ma seconde ligne a copier";
/* -tc- Les modes d'ouverture "rt" et "wt" ne sont pas standard. Utiliser
"r" et "w" pour lire et respectivement ecrire dans un fichier texte */
FILE* pf =fopen("fichier_a_copier.dat","rt");
/* -tc- Toujours verifier l'ouverture du fichier */
if (pf != NULL)
{
FILE* fp =fopen("copie_du_fichier.dat","wt");
if (fp != NULL)
{
char buffer[1024];
fprintf(fp,"%s\n%s\n", tampon, second_tampon);
while (fgets(buffer, sizeof buffer, pf) != NULL)
{
fputs(buffer, fp);
}
/* -tc- close() n'est pas standard. Utilise fclose() */
fclose(fp), fp = NULL;
}
else
{
err = EXIT_FAILURE;
}
fclose(pf), pf = NULL;
}
else
{
err = EXIT_FAILURE;
}
if (err == 0)
{
/* -tc- rename() est standard et fait ce que tu veux */
rename("copie_du_fichier.dat", "fichier_a_copier.dat");
}
return err;
} |