Accueil > Forum > > > > Problème écriture fichier
Problème écriture fichier
mardi 20 mai 2008 à 18:04:51 |
Problème écriture fichier

pitidragon
|
Bonjour à tous ! J'ai besoin d'aide pour finaliser un projet pour la fac. Je dois réaliser un démineur, et j'ai un petit soucis pour finir. Je dois gérer les meilleurs scores et donc en cas de meilleur score écrire ce score dans un fichier. Mon fichier texte est très simple, au début les scores sont initialisés à 999, avec une ligne par niveau : 999 999 999 999
J'ai écrit une fonction pour se placer sur la ligne qui correspond au niveau de jeu, et écrire le score à cette ligne : int ecrire_score(int choix, double score) { FILE *f; int i=1; char temp;
f=fopen("Score","r+t"); if(f==NULL) { perror("Erreur d'ouverture du fichier "); }
while(i<=4) { if(i==choix) { fprintf(f,"%lf\n",score); return(0); } else { fgets(&temp,MAX_LIGNE,f); i++; } } return(0); }
Problème : j'ai une erreur de segmentation, et le soucis vient du fgets, mais je ne sais pas comment corriger ! Si quelqu'un peut m'aider je le remercie d'avance !
|
|
mardi 20 mai 2008 à 18:33:56 |
Re : Problème écriture fichier

SAKingdom
|
Réponse acceptée !
fgets prend un pointeur char comme premier paramètre. Cependant, tu passes un char. char temp[MAX_LIGNE]; // SI MAX_LIGNE N'EST PAS TROP GROS ... fgets(temp, MAX_LIGNE, f); C++ (@++)
|
|
mardi 20 mai 2008 à 18:38:58 |
Re : Problème écriture fichier

pitidragon
|
Pourtant j'ai fait la même chose dans une autre fonction et ça marche :
double lire_score(int choix) { FILE *f; int i=1; double meilleur_score; char temp; f=fopen("Score","rt"); if(f==NULL) { perror("Erreur d'ouverture du fichier "); } while(i<=4) { if(i==choix) { fscanf(f,"%lf",&meilleur_score); fclose(f); return(meilleur_score); } else { fgets(&temp,MAX_LIGNE,f); i++; } } }
Bizarre non ?
|
|
mardi 20 mai 2008 à 18:49:00 |
Re : Problème écriture fichier

SAKingdom
|
Ce n'est pas parce que le code compile qu'il est correct. Cette section ne fonctionnera pas d'avantage. Si l'erreur n'est pas située là lors du plantage, c'est simplement qu'il n'a pas exécuté ce bout de code (il a planté avant). C++ (@++)
|
|
mardi 20 mai 2008 à 18:53:17 |
Re : Problème écriture fichier

SAKingdom
|
Ou alors i == choix lors de l'exécution ou il y a eu une erreur lors de l'ouverture du fichier. Menfin bref, le programme ne s'est pas rendu jusque là. C++ (@++)
|
|
mardi 20 mai 2008 à 18:55:16 |
Re : Problème écriture fichier

pitidragon
|
Ok merci, je ferai les modifications que tu m'as conseillé :)
|
|
mardi 20 mai 2008 à 19:02:40 |
Re : Problème écriture fichier

jfrancois
|
Bonjour, C'est peut-être une bêtise mais est-ce que celà ne serait pas plutôt dû à l'alignement en mémoire sur des blocs de 4 octets ? Le caractère temp occupe bien un octet mais les 3 qui suivent sont bloqués par l'alignement des données sur 4 octets, donc la lecture déborde dessus sans rien casser puisqu'il n'y a, justement, que 4 caractères à lire (3 caractères du nombre + fin de ligne) ! Jean-François
|
|
mardi 20 mai 2008 à 19:06:51 |
Re : Problème écriture fichier

SAKingdom
|
Je ne pense pas. J'ai fais les tests et, sous linux du moins, l'erreur de segmentation est bien détectée peut-importe qu'il y ait une variable qui suit ou non. C++ (@++)
|
|
mardi 20 mai 2008 à 19:15:19 |
Re : Problème écriture fichier

pitidragon
|
Si ça peut être utilise voici un lien pour télécharger l'intégralité de mon démineur. Pour info je travaille sous linux. [ Lien ]
|
|
mercredi 21 mai 2008 à 15:38:13 |
Re : Problème écriture fichier

pitidragon
|
SAKingdom je te remercie le problème venait bien de là !
|
|
Cette discussion est classée dans : fichier, problème, ligne, int, score
Répondre à ce message
Sujets en rapport avec ce message
Pb de gestion de fichier avec fstream [ par Bub325 ]
Salut,J'ai deux problème distinct avec fstream, Le premier est que lorsque j'arrive à la fin d'un fichier, je ne peut plus revenir plus haut dans ce d
Comment se positionner sur une ligne dans un ifstream? [ par mcrogiez ]
Bonjour à tous,Mon problème est très simple, cependant, je n'arrive pas à le résoudre.En C++, j'utilise des objets de type ofstream et ifstream afin d
lecture ordonnée dans fichier [ par UnderFlow ]
Bonjour à tous,(encore une question dsl),j'aimerais savoir s'il existe en C ou C++ (pas de C#), une fonction qui permette de :lire dans le fichier "mo
problème d'ouverture de fichier [ par marc_dd ]
Bonjour voila j'ai codé un peti programme avec sauvetage et ouverture de fichier, quand je sauve pas de problème il créer le fichier ou le mets à jour
Lire une ligne au hazard dans un fichier [ par sebastienmz ]
Bonjour je suis confronter a un problème : j'aimerais lire une ligne au hazard dans un fichier et je sais pas trop comment faire , pourriez-vous m'aid
Problème avec type de données et opérateur >> lors de lecture de fichier [ par bny ]
Bonjour, j'essaie de décoder un fichier de configuration(txt) j'ai certain problèmes avec les types de données et l'opérateur >> (flux de données). J
C++ et fichier texte [ par olobo ]
bonjour ! j'ai besoin d'aide pour 2 problème svp [^^happy13] [u]Problème 1 [/u] Voila j'aimerais pouvoir lire les ligne d'un fichier texte qui est
problème listBox [ par ezzineahmed ]
salut, j'utilise visuel 2008, j'ai fait un bouton qui fait le calcul et il enregistre le resultat dans un fichier, je veut ouvrir et ecrire le contenu
probleme de zero binaire dans un enregistrement [ par thefifou ]
Bonjour a tous, Je vous ecris afin de trouver un peu d'aide. Mon problème est le suivant: Je dois lire, ligne par ligne, un fichier en entrée, manipul
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
AUMLAUML par sassion
Cliquez pour lire la suite par sassion
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|