Comment modifier un buffer avant de le copier dans un fichier?
	
	
		Bonjour,
Je suis débutante en C et suis confrontée à un problème. Je veux lire le contenu d'un fichier f1 et avant de le copier dans f2, changer un caractère c1 (s'il existe) en c2.
Je réussit à lire le fichier sans problème. Je réussit à écrire dans un fichier sans problème.
Merci pour toute aide.
	Code:
	
| 12
 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
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 
 |  
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
 
void copierEnModifiant (char * Fichier1, char * Fichier2, char c1, char * c2)
{
    	FILE * fileSource;
    	FILE * fileCible;
 
	fileSource = fopen(Fichier1, "r");
	fileCible = fopen(Fichier2, "w");
 
	if (fileSource == NULL)
    	{
        printf("Erreur de Lecture");
   	]
 
	printf("LE fichier a été ouvert\n");
 
	if (fileCible == NULL)
	{
        printf("Erreur de Creation");
	   fclose(fileSource);
	}
 
      printf("Le fichier a été créé\n");
 
 
	while (fgets(ligne, sizeof ligne, fileSource))
    	{
        //Comment tester l'existence du caractere c1 dans ligne ici et le remplacer par c2 avant de le copier dans f2?
 
       // Ce test que j'ai mis en commentaire ne marche pas
 
      /*int i;
        for (i = 0; i < strlen(ligne); i++)
	{
		if(ligne[i] == c1)
				ligne[i] = c2;
        }*/
 
	   fputs(ligne, fileCible);
 
    	}
 
 
    fclose(fileSource);
    fclose(fileCible);	
	//return 0;
}
 
 
int main(void)
{
    char * Fichier1 = "f1.txt";
    char * Fichier2 = "f2.txt";
 
    copierEnModifiant (Fichier1, Fichier2, "t", "y");
} |