IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

probleme d'ouverture de fichier


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 287
    Par défaut probleme d'ouverture de fichier
    Bonjour à tous,

    j'ai beau chercher, tester divers façon de faire, j'ai toujours une erreurs avec cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    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
     
    #include <fstream>  
    #include <iostream>
     
     
    //Verification de l'existence du mot dans le dictionnaire
    void testmotexist(std::string mota,std::string joueur)
    {
     
         while (motexiste == 0)//Tant que le mot n'existe pas
         {
            std::ifstream fichierdico("dico.txt");
            std::cout<<joueur<<" entrez le mot a trouver (sans majuscules ni accents)\n\n";
            std::cin>>mot;
     
            while (!fichierdico.eof() and motchoisitest != mot)//parcours le dictionnaire jusqu'a sa fin
                                                          //ou jusqu'a ce que le mot est trouvé 
            {
               std::getline(fichierdico, motchoisitest);
            }
            fichierdico.close();         
     
            if (motchoisitest!=mot)//si aucun mot du dico = mot selectionnée
            {
               std::cout<<"\nCe mot n'est pas reference dans le dictionnaire.\nVeuillez en saisir un autre.\n\n";
            }
     
            else
            {
                motexiste=1;
            }
     
         }// fin boucle de test si le mot entré existe
     
    }
    L'erreur se trouve dans l'ouverture (et/ou la fermeture du fichier).
    Mon probléme est qu'il m'est impossible de faire appel plusieurs fois de suite à cette fonction.

    Quelqu'un aurait-il une solution svp?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Par défaut
    'Alut.

    Déja pour le test de fin de fichier, voir http://c.developpez.com/faq/cpp/?pag...s#FICHIERS_eof

    Sinon pour ton probleme:
    mettre motexiste à 0 avant la boucle (je ne vois pas sa définition)
    ou changer le test

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 40
    Par défaut
    Avant le while motchoisitest est égal à quoi ? car tu as une condition sur cet objet alors que tu n'as même pas commencé à lire le fichier ... il faut retoucher la boucle pour lire au moins une fois avant de commencer à tester (un do... while peut être)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 287
    Par défaut
    avant le while, motchoisitest n'est égale à rien, il ne prend une valeur qu'a partir du moment ou le fichier est lu.
    Je vais essayer avec un do while, mais je pense plus que le probleme vient de la façon dont j'ouvre le fichier ("dico.text").

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Par défaut
    avant le while, motchoisitest n'est égale à rien, il ne prend une valeur qu'a partir du moment ou le fichier est lu.
    Tu dois initialiser tes variables avant la boucle (moitchoisitest et motexiste).

    Si MotExiste est une variable globale (comme je ne vois pas la définition), tu le met à 1 à la fin de ton premier test et tu ne le remets pas à 0... Donc ...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 287
    Par défaut
    C'est bon, j'ai resolu mon probleme.
    Merci à tous pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme à l'ouverture le fichier excel se ferme tout seul
    Par geraldferri dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/04/2009, 14h28
  2. Probleme d'ouverture de fichier html
    Par uriotcea dans le forum Windows
    Réponses: 4
    Dernier message: 30/03/2009, 12h17
  3. Probleme d'ouverture de fichier
    Par aydin24alain dans le forum Débuter
    Réponses: 11
    Dernier message: 07/03/2008, 16h51
  4. Probleme d'ouverture de fichier access sur serveur.
    Par Chronax dans le forum Sécurité
    Réponses: 2
    Dernier message: 18/12/2007, 14h46
  5. probleme d'ouverture du fichier
    Par lucky31 dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/05/2007, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo