begin process at 2012 02 10 22:49:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Fichier & Disque

 > 

Problème avec type de données et opérateur >> lors de lecture de fichier


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

Problème avec type de données et opérateur >> lors de lecture de fichier

lundi 6 juillet 2009 à 20:39:42 | Problème avec type de données et opérateur >> lors de lecture de fichier

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'ai un fichier avec le format suivant :

Noeud(string) int int int (nombre de int aléatoire...cetaines fois il n'y en a aucun)
Noeud2(string) int
Noeud3
...etc

J'essaie de mettre les données recueillies dans des variables et après dans une structure.  Le problème est le suivant  : Je ne sais jamais si la prochaine donnée est un int ou un string...alors quand je vérifie par exemple while(fichierconfig >> nomNoeud) et que la prochaine donnée est un int...il est incapable de la lire.  N'y a-t-il pas une façon de le faire continuer à lire les données qu'importe leur format en utilisant l'opérateur >> (je ne veux pas être obligé de faire un read et de décortiquer un gros tableau de char si possible...).  Si ce n'est pas assez clair, voici mon code :

while(fichierConfig >> nomNoeud(string))
{
            while(fichierConfig >> noPatte(int))
            {
                ...Fait des trucs pour mettre les données dans les bonnes variables
            }
}

Il lit donc le nom du premier noeud et quand il arrive à la fin de la première rangée de patte, il boucle mais ne réussit pas à mettre le nom du deuxième noeud dans la variable et le programme se termine là...quand je met un "while(!eof())" il boucle à l'infini.  Si quelqu'un est bon avec les fichiers merci de bien vouloir m'éclairer...ça ne devrait pas être vraiment compliqué à régler comme problème.  Merci !
mardi 7 juillet 2009 à 06:42:24 | Re : Problème avec type de données et opérateur >> lors de lecture de fichier

Lucky92

Réponse acceptée !
Salut,

Si les différents noeuds sont présentés sur des lignes différentes, tu peux procéder de la façon suivante :

#include <iostream>
#include <fstream>
#include <sstream>

using namespace std ;
int main()
{
    ifstream ifs( "toto.txt" ) ;
    string line ;
    while ( getline( ifs , line ) )
    {
        istringstream iss( line ) ;
        string noeud ;
        int i ;
         iss >> noeud ;
        while ( iss >> i )
        {
              //...
        }
    }

mardi 7 juillet 2009 à 16:50:28 | Re : Problème avec type de données et opérateur >> lors de lecture de fichier

bny

Hey bin, merci :), ça marche #1, c'est vrai que c'est logique d'utiliser une stringstream, disons que je n'ai pas souvent utiliser cet outil alors je n'y pense pas toujours.  Je le saurai donc à l'avenir, merci beaucoup !


Cette discussion est classée dans : fichier, problème, int, données, opérateur


Répondre à ce message

Sujets en rapport avec ce message

Problème : Récupération des données d'un Buffer pour mettre dans une EditBox [ par Memerosti ] BonjourMon problème est le suivant : J'ai ouvert un fichier, lu ses données, et jusque là ça va. Mais ensuite je voudrais récupérer ces données, pour 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 Problème lors de la récéption de données en HTTP [ par Fran6web ] Bonjour,Je suis en train de me faire un programme en C qui me récupère le contenu d'un page envoyé par protocole HTTP.J'ai cependant un p'tit problème comment surcharger l'opérateur << pour l'écriture dans un fichier en c++? [ par 007berty ] bonjour! voici un extrait d'une classe en c++ et dont j'aimerai stocker les enregistrements dans un fichier. On m'a dit qu'il fallait surcharger l'opé Problème écriture fichier [ par 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ér 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 Problème pour calculer le temps reel d'un fichier midi [ par djeman ] Voila j'ai un projet de clone de Frets on Fire, qui est un clone de guitar hero. Les évènements, apparition d'une note, indication in game, ... sont Convertir un fichier binaire pour utilsation en mysql [ par 67geek67 ] Salut tout le monde, J'utilise c pour une application industrielle. Je suis chef de projet, responsable d'une collecte de données sur des chaines de Problème d'ouverture de fichier [ par molion ] Salut à tous, Je vous prie de bien vouloir m'aider sur ce problème. Je débute en MFC (Visual c++ 2008)et j'aimerais dans une partie de mon code pouvoi petit probléme renvoi structure [ par diazounet ] Bonjour , doonc voila j'ai un petit probleme , dans un exo ya une question qui m'embete , la voici : Écrire une fonction de lecture qui prend en para


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 1,326 sec (4)

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