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
| void lecture(std::string const & filename)
{
std::ifsteram ifs(filename.c_str());
std::string line;
while(std::getline(line, ifs) // tant qu'il y a une ligne à récupérer
{
// on la place dans un flux de conversion
std::stringstream ss;
ss<< line;
// et on essaye de récupérer le contenu
int num_eleve;
int nom_eleve;
char separator ; // pour le caractère "*"
int num_cours;
int nom_cours;
if(! ss>> num_eleve
>> nom_eleve
>> separator
>> num_cours
>> nom_cours )
{
/* si l'on n'y est pas arrivé, on lance une execption (à
* définir toi-même par ailleurs )
*/
throw BadFileFormat();
}
/* toute la gestion des valeurs récupérées */
}
/* ce qu'il faut (éventuellement) faire de l'ensemble des données
* récupérées
* (NOTA: le principe de délégation devrait t'inciter à ne pas faire
* beaucoup plus ici ;-) )
*/
} |
Partager