Bonjour,
Je cherche à lire les données d'un fichier.txt en utilisant une liste chaînée. Les données s'affichent à l'écran mais erreur de segmentation aussi !

Name : DepartmentofCommunicationsEngineering
Name : DepartmentofSignalProcessing
Name : DepartmentofSoftwareSystems
Erreur de segmentation
J'utilise ma liste chaînée sur des départements.
Voici Department.hh
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
//create the dynamic linked list
struct NodeDepart
{
	string departmentname;
	NodeDepart* link;			
};
typedef NodeDepart* NodePointer;
Departmentlist.cc
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
 
ifstream fichier(fileName) ;
	cout <<"Here are the depatments contained in the text file event.txt :\n";
	string var1; 
	if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
	{
 
		//insert each variable in the pointer, on the top
        	while( fichier >> var1  )
        	{
			NodePointer newNodePointer = new NodeDepart;
			newNodePointer->departmentname = var1;
			newNodePointer->link = head;
			head = newNodePointer;		
        	}
			//dire que le dernier newNodePointer->departmentname est NULL ?
			fichier.close();  
	}
	else  
	{
		cout << "Impossible d'ouvrir le fichier !" << endl;
	}
 
 
	NodePointer currPointer = head;
	while (currPointer != NULL)
	{		
		cout<<" Name : " << currPointer->departmentname<<endl;
		currPointer = currPointer->link;
	}
Je pense que l'erreur vient du moment où j'ajoute les éléments dans ma liste, je ne dis pas que le dernier doit pointer sur NULL et quand je les affiche, vu que je teste currPointer != NULL, forcément, ça bugge, mais je sais pas comment régler mon problème
Departmentlist.hh
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
class Departmentlist{
 
private :
	NodePointer head;
 
public:
	Departmentlist(const char*);
	Departmentlist();
	Departmentlist(string);
	//~Departmentlist();
 
};
Des suggestions ?
Merci