previous next Up Title Contents Index

19.2.3 Jäsenistön tehtävät lukemisessa

Lopulta jäsenistö on taas se joka joutuu hommiin:

talletus.2\jasenet.cpp - lukeminen

	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;
	}


previous next Up Title Contents Index