Lopulta jäsenistö on taas se joka joutuu hommiin:
string cJasenet::luo(const string &tied,const string &nimi,int max_koko) { IF_ERR_RETURN(luo_taulukko(max_koko)); tiedoston_nimi = tied; koko_nimi = nimi; muutettu = 1; return ""; } ... string cJasenet::lue_tiedostosta(const string &tied) { ifstream f(tied.c_str()); if ( !f ) return TIED_EI_AUKEA; string nimi; lue_rivi(f,nimi); if ( !f ) return EI_NIMEA; int max_koko; lue_rivi(f,max_koko); if ( !f ) return EI_MAXKOKOA; IF_ERR_RETURN(luo_taulukko(max_koko)); tiedoston_nimi = tied; koko_nimi = nimi; string rivi; cJasen uusi; while ( getline(f,rivi) ) { if ( rivi == "" || rivi[0] == ';' ) continue; uusi.setAsString(rivi); // f >> uusi; // vaatisi kunkin rivin olemisen täydellisenä, muuten OK! IF_ERR_RETURN(lisaa(uusi)); } muutettu = 0; return ""; }