begin process at 2012 05 29 21:49:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

probleme réduoération de variable contenu dans une map


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

probleme réduoération de variable contenu dans une map

lundi 14 novembre 2005 à 17:30:41 | probleme réduoération de variable contenu dans une map

silverfr78021959

bonjour.
Voilà j'aurais juste une petite question à poser concernant un petit programme. En faite g créer un une calsse avec une fonction ect... cela fonctionne tres bien (je rppelle que  le programme ) pour but de parcourir un fihceir .txt et de stocker les donnée dans une map), donc comme je disais ca fonctionne correctement, mais parcontre quand je veux me reservire d'une valeur stocker dasn ma map ) partir d'une autre fonction de mon programme cela ne fonctionne pas tjs j'aimerais savoir pkoi.

voici le progamme pour le parcour du fichier

Fichier config.h :

#include <iostream>
#include <map>
using namespace std;
class configData
{
  public:

  static map<string,string> conf; 
  int config(string filename);
  int display();  
};

Fichier config.cpp :

#include "config.h"
#include <iostream>
#include <string>
#include <map>
#include <fstream>

using namespace std;
//------------------------------------------------------------------------------
#define VALUE_NOT_SPECIFIED 0

map<string, string> configData::conf;

int configData::config(string filename)
{
 
 char buffer[100];
 string param, val;
 ifstream file(filename.c_str());
 if(!file.is_open()) return 1;
 //ignore the first line
 file.getline(buffer,100);
 bool last = file.eof();
 int cpt=0;
 file.getline(buffer,100,':');
 while(!file.eof())
 {
    //read parameters name
    param = buffer;
    //read parameters values
    file.getline(buffer,100, ';');
    val = buffer;
    file.getline(buffer,100);
 
    //save the data into the structure
    conf[param] = val;
    //read the next line
    file.getline(buffer,100,':');
 }
 file.close();
 return 0;
}

int configData::display()
{
 map<string, string>::iterator it;  
 
 for (it = conf.begin(); it != conf.end(); it++)
      cout << '<' << it->first << ", " << it->second << '>' << endl;
      cout << "essai :" << conf["fichier"] << endl;
 return 0;
}

fichier principal :

#include "config.h"
#include <iostream>
#include <stdlib.h>

using namespace std;
configData conf;

int main(int argc, char *argv[])
{
 
  conf.config("C:\\Dev-Cpp\\develop\\fichier.txt");
  conf.display();
   
  return 0;
}

donc
si je crais une autre fonction et que je désire afficher les valeur dema map en faisant configData::conf["fichier" cela fonctionne pas tjs dans certaine fonction oui et d'autre il me met un blanc savait vous pkoi, qu'est-ce qui pourais blowué, car moi je trouve que je trouve pas du  totu c bizard que ca marche dasn des fonction et pas d'autre. merci pour votre aide.

lundi 14 novembre 2005 à 23:33:47 | Re : probleme réduoération de variable contenu dans une map

Hylvenir

Salut,
juste pas curiosité peux-tu essayer quelque chose comme ça pour la lecture de ton fichier ?
Sinon si ta boucle utilisant les itérateurs doit afficher les bonnes valeurs, le problème viendrait plutôt de la fonction de lecture. (sauf s'il n'y a pas de param "fichier" dans ton map dans ce cas, une chaîne vide est affichée.


int configData::config(string filename)
{
 ifstream file(filename.c_str());
 if(!file.is_open()) return 1;

 //ignore the first line
 file.ignore( 32000, '\n' );  /// un gros chiffre

 string param, val;
 
while( getline( file, param, ':' )  && getline( file, val, ';' )  )
    config[ param ] = val;

 return 0;
}


Ma participation à la saturation du net:
http://hylvenir.free.fr
mardi 15 novembre 2005 à 09:38:20 | Re : probleme réduoération de variable contenu dans une map

silverfr78021959

Ben non ma fonction de lecture est bonne uisque j'ai bien les résultat, le probleme vient lorsque j'essai de faire une lecture à partir d'une autre fonction crée parfois la lecture marche et sur d'autre fonction elle ne marche pas et je vois pas du tout pkoi. Etant donné qu'elle marche dans mon fichier config.cpp, dans quelques autre fonction ???

Sinon oui ton code est plus optimiser je suis d'accord avec toi, je n'y avais pas pensé


Cette discussion est classée dans : buffer, file, include, map, conf


Répondre à ce message

Sujets en rapport avec ce message

execution de programme [ par silverfr78021959 ] bonjour a tous, voilà j'ai un probleme quand je veux executer mon prog sur devc++ il m'ouvre la fenteree dos mais la referme aussi tot je peux donc pa demande conseil class [ par silverfr78021959 ] salut as tousje voudrais faire la meme chose que le programme montré ci-dessous, sauf que lamapEt comment je peu acceder au valeur contenu d librairie [ par infodaoudi ] Bonjour,quelle est l'équivalent de la bibliothéque #include en visual C++. je compile un programme en visual C++ et je me trouve avec l'erreur: Canno [socket et api win]recevoir et envoyer en meme temps [ par shadow1779 ] Bonjour je me suis fais un petit programme irc qui me servira de bot pour auto-op des personne ou d'autre taches diverses, le client aura une boite de caracteres chelous avec ReadFile() ???? [ par SnOOpss ] Salut j'ai un probleme tout con avec Readfile()                 HANDLE hdl;                 hdl=CreateFile(data3,GENERIC_RE Blème compil raccourci [ par algori ] Bonjour,J'ai chopé un code pour faire des raccourcis, je l'ai un peu modifié et j'ai essayé de le compiler et là, il me met une trentaine d'erreurs.Vo Lecture d'un fichier et affichage de balises [ par SpiritAnghell ] Bonjour;Le programme suivant est censé extraire les balises d'un fichier xml et les afficher une par une:#include #include #include #include #include Utilisation de std::map avec le type void * [ par toast3r ] Bonjour, J'utilise un tableau associatif, map et j'ai un problème au niveau de la récuperation des valeurs, voici le code que j'ai actuellement : # Fichier include "glut.h" [ par Ben0007 ] Hello,J'obtiens ce message d'erreur en compilant un exemple de programme trouvé sur ce site:"fatal error C1083: Cannot open include file: 'gl/glut.h': Problème de lecture [ par Hades53 ] Voila, j'ai fait un code pour lire des fichiers qui marche, mais il y a un petit problème avec la dernière ligne du fichier qu'on veut lire:si la dern


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 3,151 sec (3)

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