Votre question

c++ aide fichier et conteneur

Tags :
  • Programmation
Dernière réponse : dans Programmation
28 Février 2008 17:00:21

je dois lire un fichier passer en parametre puis récuperer tout les mots de plus de 3caracteres et de les enregistrer avec leur position(par rapport au début du fichier)!
Pour cela j'ai utiliser 2 classes :

-une classe main : test d'ouverture du fichier+ lancement du programme

-Et une classe CreationListe : cree une map et ajoute les mots et leur position dans le map puis de les afficher

J'ai fait :
---------------------------------------
Classe main-->
----------------------------------------
int main(int argc , char *argv[])
{

CreationListeRef clr;
clr.remplirListe(argv[1]);
}
--------------------------------
Classe CreationListe.cpp-->
--------------------------------------
class CreationListe
{
public :
CreationListeRef();
void remplirListe(char *fic);
void afficherListe();



private :

int dist;
char *mot;
ifstream fichier;
};

void remplirListe(char *fic){
typedef map<char *, int> monMap;// clé =mot et la position=valeur
monMap table;

//La partie ci-dessous n'est qu'un test !
table["Perus"] = 164468443;
monMap::iterator it; //curseur sur le map

std::string key = (*it).first;
int number = (*it).second;
cout << "name = " << key << " number = " << number << std::endl;


}
void afficherListe(){
????????
}

Pourquoi quand ca n'affiche pas le cout??
Sinon si vous avez des idées de comment je pourrai proceder sachant que j'ai juste 2jours pour le faire !!
Ps : je suis debutant en c++
Merci d'avance

Autres pages sur : aide fichier conteneur

28 Février 2008 17:41:45

platinium56 a dit :

Pourquoi quand ca n'affiche pas le cout??

la phrase n'est pas compléte, si ? :) 

sinon la classe map a besoin d'une clé triable et la valeur doit être un type assignable
or le (char *) n'est pas triable, tu devrais utiliser
  1. std::map <std::string, int>


ensuite, tu définis la variable "table" à l'intérieur de la fonction remplirListe, elle n'existera plus à la fin de cette fonction!

sinon qu'est ce que tu veux dire par position dans le fichier (ligne, octet...?)

pour commencer, tu devrais faire juste une fonction main () (main n'est pas une classe, C++ != java)

tu dis que tu veux chercher tous les mots > 3 lettres, je vois pas le role de argv[1]?

bref, vas y petit à petit, déjà lis les lignes du fichier.
29 Février 2008 10:56:57

Merci coca25 pour ton conseil
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS