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 :

Lecture d'un fichier + stockage valeurs dans variable


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 20
    Points : 17
    Points
    17
    Par défaut Lecture d'un fichier + stockage valeurs dans variable
    Bonjour.

    Jai un petit problème. J'aimerais lire un fichier ligne par ligne et à chaque lecture de la ligne insérer les chaines de caracteres dans des variables.

    voila à quoi ressemble une ligne de mon fichier
    Jeux--Halo3--2008--la Guerre--Bungie--360--18--16
    Donc le but est de mettre la veleur "Jeux" dans une variable, la valeur "Halo3" dans une variable et ainsi de suite.



    Et voici le code que j'ai écris

    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
     
    ifstream fichier("save.txt");
        if(fichier) // si le fichier existe
        {
            string ligne;
            while(getline(fichier,ligne))
            {
                char type[5];
                char titre[50];
                int parution;
                char theme[30];
                char auteur[30];
                char duree[5];
                char socprod[50];
                char plateforme[56];
                int note;
                int classif;
     
               ligne>> type >>"--">>titre<<"--">>parution>>"--">>theme>>"--">>socprod>>"--">>plateforme>>"--">>note>>"--">>classif<<endl;
               }
     
        }
    Mais l'erreur retourné est
    C:\C-projet\mediatek\mediatek.cpp|47|error: no match for 'operator>>' in 'ligne >> type'|
    Avez-vous une idée de l'erreur ?

    Merci.
    Anthony

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour,
    Plutôt que d'utiliser des char[], tu devrais continuer d'utiliser des std::string. C'est le type en C++ pour représenter des chaînes de caractères.
    Ton erreur vient que l'opérateur >> (comme <<) n'est pas défini pour les chaînes de caractères mais pour les flux. Il te faudrait donc utiliser un stringstream. Si tu peux jouer sur le format d'entrée, alors le plus simple est de remplacer ton séparateur par des espaces. Sinon, tu peux regarder ce côté de la F.A.Q.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Utilisez les expressions régulières

    paragraphe 9 de : http://shoddykid.blogspot.com/2008/0...-boost_12.html

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Utilisez les expressions régulières

    paragraphe 9 de : http://shoddykid.blogspot.com/2008/0...-boost_12.html
    Tu trouveras dans la page cours un tutoriel sur Boost.Regex.

Discussions similaires

  1. Lecture d'un fichier se trouvant dans un jar
    Par Leonheart dans le forum Général Java
    Réponses: 6
    Dernier message: 03/12/2009, 12h00
  2. [BATCH] Fichier recupérer valeurs dans variables
    Par Babybel54 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 23/06/2008, 15h49
  3. Réponses: 2
    Dernier message: 19/05/2008, 13h56
  4. [PHP-JS] Erreur de syntaxe récupération valeur dans variable PHP
    Par sosophie dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/04/2007, 12h33
  5. Réponses: 4
    Dernier message: 26/01/2006, 12h12

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