Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: tyypin oikeellisuuden tarkistaminen virrasta

Gaxx [19.04.2008 12:52:35]

#

Näiden koulutöiden kanssa on aina hankalaa, kun kaikki pitäisi tehdä niin viimeisen päälle.

Miten voin tarkistaa c++:ssa, että tiedostovirrasta luettava arvo on haluttua tyyppiä?

Stream.good() tuntuu toimivan joissain tilanteissa, mutta ainakin tiedoston viimeisen arvon kohdalla tiedoston loppuminen aiheuttaa ongelman.

Nyt ei ole kysymys siitä, ettenkö saisi sitä toimimaan c:n funktioilla, mutta harjoitustyö tulee koodata c++:lla, joten c-funktiot voi unohtaa tyystin.

Edit: Eipä siinä näköjään kauan mene sen jälkeen, kun tänne postaa kysymyksensä.

Ongelman ratkaisu on stream.fail():

ifstream stream;
int luku;

stream >> luku;
if(stream.fail()) {
   // arvoa ei voitu tulkita ingeriksi
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta