begin process at 2010 02 10 02:41:38
  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 remplir un StringGrid [ par proxi69 ] Bonjour,Je cherche à remplir un StringGrid avec un fichier Excel, ou un fichier texte, ou un fichier csv...Bref je cherche à remplir ce tableau depuis Problème hexadécimal mouè mouè mouè [ par StiriX ] Bonjour camarades !j'aimerais bien savoir comment concaténer deux valeurs hexadécimal.Je récupère une valeur dans un int (un chiffre compris entre 1 e utiliser une base de données dans un fichier excel en C/C++ [ par MBALHOUSSE ] Bonjour,au fait, j'ai une base de données sous forme tableau dans un fichier excel. et je veux l'utiliser en C++, et je sais pas la partie de codes qu ouverture de fichier bitmap 24 bits [ par alicetin ] Bonjour donc voila j'ai un problème pendant l'ouverture de mon fichier bitmap, la structure BITMAPINFOHEADER a de fausse valeur  (biHeight et toujours extraction des données à partir d'un fichier XML [ par samar22 ] Bonjour, j'ai un fichier XML ,et je veux extraire des données à partir de ce fichier  pour les traiter dans un programme. J'ai pas su comment faire.


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 0,484 sec (4)

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