Bonjour à tous !!

Je sollicite aujourd'hui votre bienveillante aide de codeur avancés, car j'ai quelques soucis concernant un programme que je me dois de développer.

Ce souci concerne le traitement d'un fichier de log apache, lorsque, après le parsage ligne par ligne de celui-ci (qui lui fonctionne), je souhaite stocker chaque ligne dans une multimap afin de pouvoir les utiliser par la suite.
Je stock une ligne au sein d'un objet cLine (stockant l'ip, le referer, la requête, etc...)
Je souhaite stocker cette cLine dans une multimap : multimap <string, cLine> reconstFic;

Mais lors de l'insertion de cette cLine dans la multimap, il apparaît que
seules les clés sont véritablement stockées, le reste ne nous donnant que
des lignes blanches (mais aucune erreur n'est détectée) :
voici le bout de code concerné :



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
 
//fonction de parsage
 
void gestFic::parsage(ifstream& flux, mapLigne& mapL)
{
	cout<<"debut parsage"<<endl;
	char buffer[512];
	while (flux.getline(buffer,512)!='\0')
	{
		cLine nouvLigne(buffer);		//on crée une ligne  
		mapL.insert(nouvLigne);			//on insert cette ligne dans la multimap
	}
	mapL.affiche();
	cout<<"fin parsage"<<endl;
}
 
 
//méthode d'insertion dans la multimap
 
void mapLigne::insert(cLine& ligneIns)
{
	reconstFic.insert ( pair<string,cLine>(ligneIns.recupReq(),ligneIns));		//reconstFic est la multimap attribut de la 
}											//classe mapLigne
											//recupReq permet de récupérer la requete
											//d'une ligne pour la mettre en clé
 
 
//Affichage des éléments de mapL
 
void mapLigne::affiche()
{
	multimap <string,cLine>::iterator it;					//Ici seules les clés sont correctement affichées [..]
		for (it=reconstFic.begin() ; it != reconstFic.end(); it++ )	//exemple1
		{
			[cout<<it->first<<endl;]				//les attributs de donnent pas quelque chose de 
			cout<<it->second.recupReq()<<endl;			// correct -> exemple2
		}
}
 
 
 
//exemples (les deux exemples sont censés donner les mêmes résultats (renvoient tous deux la liste des requetes effectuées))
 
//exemple1 (avec les clés)
 
Console : 
 
debut parsage
/SiteWebIF/Intranet-personnel.php
/SiteWebIF/Intranet-personnel.php
/SiteWebIF/Intranet-personnel.php
/SiteWebIF/Intranet-personnel.php
...
/temps/suivant.gif
/temps/suivant.gif
/temps/suivant.gif
/temps/suivant.gif
/temps/suivant.gif
fin parsage
 
 
/exemple2 (avec les attributs de la multimap)
 
Console : 
 
debut parsage
 
 
 
 
...
 
 
 
 
 
fin parsage

Un énorme merci pour ceux qui auront le courage de porter attention à mon poste !!!

Haric0t.