passsage d'un ifstream en paramètre
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:
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:
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