Accueil > Forum > > > > demande conseil class
demande conseil class
samedi 12 novembre 2005 à 20:45:43 |
demande conseil class

silverfr78021959
|
salut as tous je voudrais faire la meme chose que le programme montré ci-dessous, sauf que lamap<string... je voudrais le déclarer dans une class, dans un fichir config.h est-ce possible. Et comment je peu acceder au valeur contenu dans ma map a partir de n'importe qu'elle autre fonction .
#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; }
|
|
samedi 12 novembre 2005 à 21:59:36 |
Re : demande conseil class

vecchio56
|
Rien compris a ton problème... Bien sur qu'on peut mettre une map dans une classe
|
|
dimanche 13 novembre 2005 à 00:21:53 |
Re : demande conseil class

silverfr78021959
|
Ben justement la je voudraias la map qui est au debut de programe sans uneclass mise dansun fichier confi.h et on l'appelle a partir du fichier config.cpp qui fais le traitement comme ci-dessus.
|
|
dimanche 13 novembre 2005 à 00:50:42 |
Re : demande conseil class

vecchio56
|
Franchement je crois que tu expliques très mal ton problème, en tous cas je comprends pas. Si tu pouvais te relire et écrire une phrase correcte, ce serait plus simple
|
|
dimanche 13 novembre 2005 à 01:11:33 |
Re : demande conseil class

silverfr78021959
|
oui c'est vrai escuse moi, en faite je voudrais mettre map<string, string> conf; dansune class appelé configData par exemple. Cette class serais dans une page config.h. Une autre page config.cpp contiendrais le code suivant : 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");
| De la je voudrais accéder à la map a partir de n'importe quel autre fichier par exemple traitement.cpp. qui fais parti de mon programme. je pense avoir était plus claire merci |
|
|
dimanche 13 novembre 2005 à 12:32:16 |
Re : demande conseil class

vecchio56
|
OK. Pour commencer, si tu le mets dans une classe, et si tu veux y accéder partout, tu as besoin de le mettre en static (sinon il te faudra un objet).
Dans config.h: class configData { public: static map<string, string> conf; ... };
Dans config.cpp: map<string, string> configData::conf;
et dans ton fichier principal: #include "config.h" ici tu accède à la map avec configData::conf
Voila, mais pourrais tu expliquer tes motivations de vouloir mettre conf dans une classe?
Autre chose dans ton code: ifstream file("C:\Dev-Cpp\develop\fichier.txt"); doit être remplacé par ifstream file("C:\\Dev-Cpp\\develop\\fichier.txt");
|
|
dimanche 13 novembre 2005 à 14:18:59 |
Re : demande conseil class

silverfr78021959
|
voici se que j'ai fais mais marche pas top top.
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; }
voilà si vous pouvezme dire o cela coince. Merci
|
|
dimanche 13 novembre 2005 à 14:47:32 |
Re : demande conseil class

vecchio56
|
A toi de dire ou a coince, quelle est l'erreur?
|
|
dimanche 13 novembre 2005 à 15:28:22 |
Re : demande conseil class

silverfr78021959
|
Justement si je suis ici c'est que je sais pas lol, a toi de me dire jepense que cela vient de ca conf.config("C:\\Dev-Cpp\\develop\\fichier.txt"); conf.display();
il me met pas de message d'erreur, juste que ca lance la console et refaerme aussi tot.
|
|
dimanche 13 novembre 2005 à 15:47:14 |
Re : demande conseil class

vecchio56
|
Ca c'est normal, ajoute un system("PAUSE"); à la fin sinon tu n'a pas le temps de voir ce qui est écrit. Ensuite pour savoir d'ou vient le problème, ajoute des traces dans la console. Par exemple: ifstream file(filename.c_str()); if(!file.is_open()) { cout << "Impossible d'ouvrir le fichier" << endl; return 1 }
Puis tu peux afficher directment chaque ligne lue, ainsi tu verra rapidement s'il y a un problème de lecture. Si tu as un debugger, ce serait intéressant de l'utiliser
|
|
Cette discussion est classée dans : buffer, file, include, conf, getline
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
probleme réduoération de variable contenu dans une map [ par 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 f
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
lecture fichier binaire [ par SesechXP ]
Salut !Je cherche à lire des données dans un fichier binaire afin de les réafficher en ascii.Voici la tête du fichier à lire @10004A 75 6C 69 65 6E FF
VC++ et erreurs de compilations :( [ par morpheus83z ]
Bonjour tout le monde !Voilà, je ne comprends pas, j'ai un programme qui ne veut pas se compiler et je désespère vraiment ...#include // iostream.h e
prob avec include<bzlib.h> [ par progrima ]
j'ai télécharger un code de codes sources qui fait de la compréssion , mais en l'exécutant j'ai eut l'erreur suivante :Cannot open include file: 'bzli
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
[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
probleme avec getline istringstream dans un for [ par riminii ]
bonjour je suis en train de créer un programme lisant un lsystem et en resort des coordonnées...J'en suis au début cad la lecture du fichier lsystem:c
Code source incomplet en C [ par Sneakito ]
Je suis un débutant, or j'ai un programme assez complexe à réaliser(pour moi), voici ce qu'il doit faire:Remplacer un mot dans une page html (hors bal
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|