ScorpionTiti
Messages postés11Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention 2 juin 2004
-
27 mai 2004 à 21:24
shirah3i
Messages postés24Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention10 juin 2004
-
28 mai 2004 à 09:48
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.
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);
shirah3i
Messages postés24Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention10 juin 2004 28 mai 2004 à 09:48
Fais attention aussi à l'affichage que tu fais au tout début:
printf ("\nLe texte contenu dans le fichier est:\n%s\n", MaChaine);
A ce moment là, MaChaine n'est pas initialisée. Tu vas avoir un affichage mais pas un texte lisible!
Si tu veux afficher le contenu de ton fichier en passant par MaChaine, utilise fgets par exemple!
fegts(MaChaine,X,MonFichier)