Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

17.2.1 Tiedoston avaaminen muodostajassa tai open

Tiedosto voidaan siis avata heti kun tiedostoa vastaava tietovirta esitellään:

	ifstream f("luvut.dat");  // Input File STREAM

Parametri "luvut.dat" on tiedoston nimi levyllä. Nimi voi sisältää myös hakemistopolun, mutta tätä kannattaa välttää, koska hakemistot eivät välttämättä ole samanlaisia kaikkien käyttäjien koneissa. Jos hakemistopolkuja käyttää, niin erottimena kannattaa käyttää /-merkkiä. Samoin kannattaa olla tarkkana isojen ja pienien kirjainten kanssa, sillä useissa käyttöjärjestelmissä kirjainten koolla on väliä.

Tiedoston nimiparametri on useimmiten tietysti muuttuja, valitettavasti kuitenkin vain C-merkkijono. Mikäli tiedoston nimi on C++-merkkijonossa, on se siis muutettava C-merkkijonoksi:

	string s = "luvut.dat";
	ifstream f(s.c_str());  // vain C-merkkijonot kelpaavat

Tiedosto voidaan myös jättää avaamatta esittelyn yhteydessä ja avata sitten myöhemmin open- metodilla:

	  ifstream f; 
	...
	  f.open("luvut.dat");

Lukemista varten avattaessa tiedoston täytyy olla olemassa tai avaus epäonnistuu. Tätä voidaan tietenkin käyttää hyväksi esimerkiksi tutkittaessa onko tiedostoa lainkaan olemassa. Tiedoston aukeamisen tila voidaan testata tietovirtaolion arvosta esimerkiksi

	if ( !f ) { ...


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys