begin process at 2012 05 29 10:15:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Je cherche l'erreur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Je cherche l'erreur

jeudi 27 mai 2004 à 21:24:39 | Je cherche l'erreur

ScorpionTiti


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;
}

jeudi 27 mai 2004 à 21:34:27 | Re : Je cherche l'erreur

alain34270

salut,

à première vue, tu ouvres deux fois un fichier ayant comme identifiant MonFichier.

a+
alain
jeudi 27 mai 2004 à 21:37:53 | Re : Je cherche l'erreur

alain34270


ou, plus exactement, quand tu exécutes :

MonFichier = fopen("LeFichier.txt","w");

il y a déjà eu, 4 instructions plus haut :

MonFichier = fopen(nom_fichier, "r+");

et il n'a pas été refermé entre temps.

je pense que ça peut peut-être venir de là, mais il faudrait avoir le message d'erreur.

alain
jeudi 27 mai 2004 à 21:44:08 | Re : Je cherche l'erreur

alain34270

de plus, la chaine :

"Il a enleve son poing... rien n'a ete gache !\n"

fait 46 caractères + le zéro final = 47 caractères, et tu n'alloues que 45 caractères.


alain
jeudi 27 mai 2004 à 21:46:16 | Re : Je cherche l'erreur

alain34270

fprintf sans chaine de formatage :

fprintf(MonFichier, MaChaine);

il faut
fprintf(MonFichier, "%s", MaChaine);

a+
alain
jeudi 27 mai 2004 à 21:46:17 | Re : Je cherche l'erreur

alain34270

fprintf sans chaine de formatage :

fprintf(MonFichier, MaChaine);

il faut
fprintf(MonFichier, "%s", MaChaine);

a+
alain
jeudi 27 mai 2004 à 22:56:44 | Re : Je cherche l'erreur

ScorpionTiti


OK!
Bien reçu.

Je modifierai tout ceci.

Merci

@ +
vendredi 28 mai 2004 à 09:48:55 | Re : Je cherche l'erreur

shirah3i

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)

@+
SHIRAH


Cette discussion est classée dans : fichier, printf, char, lettre, machaine


Répondre à ce message

Sujets en rapport avec ce message

Debutant : ecrire et lire un fichier txt [ par manu ] Bonjour a tous.Je debute, aussi desole.... :)Je cherche donc a ecrire dans un fichier txt, puis a lire ce fichier ligne a ligne, faire un split / expl [debutant]attribution dun mot a une char et comparaison ... [ par DarkEbola ] en fait, jaurais aimé attribuer du texte a une charkke chose comme 500 ou 600 caracteres maximais jarrive pas a lui attribuer plus de 1 Charsuis-je pl CRYPTAGE !!! [ par megaman ] Voilà j'essai de faire un log de cryptage à l'aide de fonctions et procédure.Les fonctions et procédures :Une fonction qui retourne le nom de fichieru SOS manque d'inspiration [ par graall ] J'ai besoin de faire un petit programme (en mode console) qui demande à l'utilisateur de saisir le nom d'un fichier et ensuite, qui vérifie si ce fich Problème de lecture fichier [ par nach73 ] J'ai un enorme probleme je n'arrive pas a lire dans mon fichierVoila la partie de mon programme.Si quelqu'un peux m'aide.Merci.//ouverture du fichier Aide pour enregistrement fichier en C [ par petit_mateo ] Voici mon code :#include #include #include int x(){   char ANCIEN[] = "resta.txt";   char NOUVEAU[] = "restb.txt";   FILE *INFILE, *OUTFILE;< Copier/coller de données contenue dans un fichier en C [ par petit_mateo ] Voici mon code :#include #include #include int x(){   char ANCIEN[] = "resta.txt";   char NOUVEAU[] = "restb.txt";   FILE *INFILE, *OUTFILE;< Lecture et ecriture sur fichier [ par developvbdebut ] Bonjour tout le mondeJe travaille sur la gestion des fichier en c.Mon livre n'explique pas clairement l'ectriture et la lecture dans les fichiers.Voic char ** [ par PADYVEN ] Si quelqu'un peut jeter un oeil sur ce code et le critiquer merci(constructive les critiques :-))j'ai un probleme tout betece programme lit un fichier Besoin Aide sur mon programme [ par knockner ] Voici mon programme je n'arrive pas a trouver mon erreurs , le programme se lance il faut appuyer 2 fois sur entrée , et des que l'on rentre une lettr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales