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 !
J'utilise ma liste chaînée sur des départements.Name : DepartmentofCommunicationsEngineering
Name : DepartmentofSignalProcessing
Name : DepartmentofSoftwareSystems
Erreur de segmentation
Voici Department.hh
Departmentlist.cc
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;
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
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; }
Departmentlist.hh
Des suggestions ?
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(); };
Merci
Partager