Bonjour,
je définis des méthodes pour lire un fichier par morceaux:
la méthode principale créée un ifstream puis elle le passe en argument aux autres méthodes:
malheureusement j'ai un segmentation fault qui apparait dans l'exemple suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
void Problem::loadGroups(ifstream& stream) {
    string str="";
    stream >> str; 
    while ( (str == "I") && (!stream.eof()) ) {
        Group group;
        group.loadGroup(stream);
        stream >> str;
    }
}

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
Group Group::loadGroup(ifstream& stream) {
    Group group;
    int id=0;
    string str="", substring="";
    string type="";
    stream >> id >> type;  //segmentation fault
    group.setId(id);
    group.setType(type);
    stream >> str;
    substring = str.substr(0,3);
    while ( (str != "I") && (substring !="***") ) {
        if ( str == "attr" ) {
            this->loadAttributs(stream);
        }
        if ( str == "longeronT" ) {
            this->loadLongeronTfaces(stream);
        }
        if ( str == "longeronL" ) {
            this->loadLongeronLfaces(stream);
        }    
        stream >> str;
        substring = str.substr(0,3);
    }
}
merci,
Xavier