const char *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 NULL; } ... const char *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; char rivi[400]; cJasen uusi; while ( f ) { lue_rivi(f,rivi,sizeof(rivi)); if ( rivi[0] == 0 || rivi[0] == ';' ) continue; uusi.alusta(rivi); // f >> uusi; // vaatisi kunkin rivin olemisen täydellisenä, muuten OK! IF_ERR_RETURN(lisaa(uusi)); } muutettu = 0; return NULL; }