J'ai effectué un programme qui me permette d'écrire dans un fichier et je l'ai compilé. En le lançant, il m'envoie un message d'erreur mais je ne sais pas d'où vient mon erreur.
Voici le programme :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
int main(int argc, char *argv[])
{
FILE * MonFichier;
FILE * fichbis;
char* MaChaine;
char nom_fichier[45], lettre_erronee, lettre_changee;
int i;
printf ("Veuillez donner le nom du fichier a ouvrir : ");
scanf ("%s", nom_fichier);
MonFichier = fopen(nom_fichier, "r+");
printf ("\nLe texte contenu dans le fichier est:\n%s\n", MaChaine);
MaChaine = (char*)malloc(45*sizeof(char));
strcpy(MaChaine,"Il a enleve son poing... rien n'a ete gache !\n");
MonFichier = fopen("LeFichier.txt","w");
//pour afficher à l'écran:
printf("%s",MaChaine);
//pour mettre la chaine dans le fichier texte:
fprintf(MonFichier, MaChaine);
printf ("Quelle lettre voulez-vous changer ?\n");
scanf ("%c", lettre_erronee);
printf ("Tapez la nouvelle lettre : ");
scanf ("%c", lettre_changee);
for(i=0;i<strlen(MaChaine);i++)
{
if(MaChaine[i]==lettre_erronee)
MaChaine[i]=lettre_changee;
}
printf ("\nLe texte modifie est donc le suivant :\n%s\n", MaChaine);
if (fclose(MonFichier)==EOF)
{
printf("\nProblème de fermeture du fichier!\n");
}
fichbis= fopen("nouveau.txt","r+");
fputs(MaChaine, fichbis);
fclose (fichbis);
system("PAUSE");
return 0;
}