begin process at 2012 05 28 08:28:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

class et map


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

class et map

jeudi 10 novembre 2005 à 15:57:48 | class et map

silverfr78021959

Bonjour !
Voilà j'ai problème j'ai vraiment besoin d'aide svp. Je vais essayé de faire précis.
voilà j'ai un programme en c++ et je dois créer une nouvelle class qui me permettrais de récupérer des valeurs dans un fichier txt par exemple afin que celle-ci soit utilisable dans le programme à partir de n'importe quelle endroit. Pour cela je dois créer un fichier configuration.cpp qui lui renfermera tout le traitement de parcour du fichier pui une fonction display pour l'affochage du resutltat afin de voir si je récupere vbine tout. Ensuite un fichier configuration.h qui lui renfermera la classune, map ect afin de traiter la parsage ou le parcou du fichier. Et de la je dois pouvoir utiliser par la suite n'importe quelles valeurs du fichier dans mon programme voilà mon problème pourriez vous m'aider svp.

Voici un exemple de programme que j'ai fais

fichiers .txt à parcourir ::

                   /*********** Paramètres de configuration ****************
Alt: E;
ext: 3;
type: double;
clust: LO;
filePar0:Par0.txt;
filePar1: Par1.txt;
fileerror: Error.log;
file0: fichier.csv;
file1: fichier1.csv;
filepsl: psl;
file3: fichier3.cnv;
file4: fichier4.csv;


fichier configuration.cpp :

#include "configuration.h"
#include <fstream>
#include <iostream>
#include <sstream>

#define VALUE_NOT_SPECIFIED 0

configData::configData()
{
}
configData::~configData()
{
}

int configData::configuration(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
  values[val].param[param].params = param;
  values[val].param[param].params = val;
  cout << param << val << endl;
  
  //read the next line
  file.getline(buffer,100,':');
  
 }
 file.close();
 return 0;
}


 int configData::display()
 {
 
//display the params list
  map<string,configParams>::iterator paramsTK;
  map<string,configVal>::iterator valuesTK;
     
  for(paramsTK=values.begin();paramsTK!=values.end();paramsTK++)
   for(valuesTK=paramsTK->second.param.begin();valuesTK!=paramsTK->second.param.end();valuesIt++)
        
     cout << "   " << paramsTK->first << " " << valuesTK->first << endl;
     
  
return 0;
 }

fichier configuration.h :

#include <iostream>
#include <map>


using namespace std;


class configParams
{
  public:
 
 string params;  
};

 class configVal
{
  public:
 
   string val; // parameters values
  map<string,configParams> param;
 
 };
 
 class configData
 {
  public:
 
 configData();
 ~configData();
 
 map<string,configVal> values; 

 int configuration(string fname); 
 int display();  };


voilà le résultat avec ca ca larche j'arrive a bien parcourir mon fichier et extraire les valauer mais le probleme avec cette methode c'est que je n'arrive pas à réutiliser dans n'importe ou de mon programme autre fonction une valeur precise voulu dans le fichier txt.
Par exemple je voudrais juste la valeur type: double.

merci de votre aide svp c'est urgent en plus.

samedi 12 novembre 2005 à 15:57:19 | Re : class et map

cosmobob

salut,
perso j'ai rien compris a ton probleme. A croire que tu t'exprimes pas assez clairement

re-dis mieux ce que tu veux faire...

allez a+

samedi 12 novembre 2005 à 17:44:46 | Re : class et map

silverfr78021959

Je veuxcréer une class avec une map qui permet de parcourir un fichier .txt afin de me servire des valeur de ce fichier n'importe ou dans mon programme.
DOnc un config.cpp qui lui gere la parcour du fichier .txt plus une fonction display pour affcher les resulta, config.h qui lui renferme la class  gérant la map pour le stockage des données du fichier texte. voilà

samedi 12 novembre 2005 à 17:45:47 | Re : class et map

silverfr78021959

voici cer que cela doit donenr en gors mais g gérer quand dans un seule fichier ma classe ect.

#include <iostream>
#include <string>
#include <map>
#include <fstream>
using namespace std;
//------------------------------------------------------------------------------
int main()
{
  map<string, string> conf;
  map<string, string>::iterator it;
 
 char buffer[100];
 string param, val;
 ifstream file("C:\Dev-Cpp\develop\fichier.txt");
 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();
 for (it = conf.begin(); it != conf.end(); it++)
      cout << '<' << it->first << ", " << it->second << '>' << endl;
  system("PAUSE");
 return 0;
}



Cette discussion est classée dans : fichier, file, configuration, param, configdata


Répondre à ce message

Sujets en rapport avec ce message

Problème avec traitement de fichier (cplusplus !) [ par Sianrin ] Voila, j'explique mon problème. Pour voir un peu comment les accès au fichiers se géraient en cplusplus, je me suis mis en tête de faire un programme Enregistrer en HEXA un texte avec gcc !! [ par UncleShu ] /* * Ce programme affiche le fichier en HEXADECIMAL et se copie lui-même avec * une autre exetenstion (.txt). Moi je voudrais qui affiche le fichier * Petit probleme de code en C sur Linux !! [ par UncleShu ] Je voudrais créer un fichier dans le réperoire personnel d'un utilisateur mais mon code ne marche pas !!#include #include #include #define DIR $HOM ouverture de fichier avec les MFC [ par steph76 ] Bonjourvoila je programme une application qui ha beusoin d'ouvrir 1 fichier via httpJ'ai donc fait le code suivantCStdioFile *file;CInternetSession IS fichier de configuration [ par Tutu ] Bonjour à tous.Voilà j'aimerai savoir comment fait ton pour associer un fichier à une apllic. Je m'explique.J'ai uune applic avec des paramètres. Je l Mettre un fichier .exe dans un buffer [ par guiguikun ] Je n'arrive pas a mettre un fichier executable en memoire.sur les 100Ko du fichier, mon buffer ne compte que les 3 premiers octets (caracteres)voici m [C] Transfert de fichier par sockets [ par bonobo78 ] salut ! j'ai un petit pb pour transmettre un fichier via des sockets.En fait, je decoupe le fichier en petit bout de 1024 octets et je transmets chaqu pb de (fin de) fichier assez urgent [ par Harmsik ] Salut,j'ai fait un programme du type client/serveur (sans les sockets ... )En fait du côté serveur, je stocke des messages sous forme de structure (le Pb de gestion de fichier avec fstream [ par Bub325 ] Salut,J'ai deux problème distinct avec fstream, Le premier est que lorsque j'arrive à la fin d'un fichier, je ne peut plus revenir plus haut dans ce d boite de dialogue en C [ par benhamid ] Bonjour, J'ai quelque problème en C, pouvez vous m'aider svp.J'ai des fonctions C suivantes: lecturefichier(FILE * f1) qui lit le fichier f1calcul( Fi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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

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