IRC-kanavalla oli hieman heikkoa kysyä, joten kysytään täällä. En löytänyt fstream-luokan getline() metodista kovinkaan paljon dokumentaatiota. Kuitenkin minulla olisi tarvetta projektissani lukea tiedostoa rivi kerrallaan ja analysoida sitä sitämukaa, kun sitä luetaan. Miten getline():ä käytetään?
Jos meinaat stringiä käyttää, niin kai ihan irtofunktiolla:
getline(joku_fstream, joku_string);
fstream::getline toimii vain char-taululle.
joku_fstream::getline(joku_chartaulu, taulun_koko);
http://gcc.gnu.org/onlinedocs/libstdc /latest-doxygen/classstd_1_1basic__istream.html#std_1_1basic__stringstreamz57_6
Tuolla ovat nuo dokumentit.
Eikö fstream getline() funktiota voi käyttää string-taulukkoon? Käytän siis tiedostojen käsittelyyn, en stringeille :) Onko mitään ehdoituksia, miten toteuttaa seuraava: Lukisin tiedostosta rivi kerrallaan string-taulukkoon, onnistuuko?
Selitin ilmeisesti liian epäselvästi :) Siis fstream-olion omalla getline-funktiolla voi lukea vain vanhanaikaiseen merkkijonoon eli char-tauluun, mutta string-otsikossa esitellään tätä varten erillinen getline-funktio, jolla voi lukea streamista rivin string-olioon.
Eli tiedoston voit lukea kokonaan silmukalla rivi kerrallaan, kunnes tiedosto.eof() (eli tiedosto loppuu) tai taulukkosi on täynnä.
Olisi voinut heti kertoa selkeästi :D, tulit turhan tyhmä kommentti tuohon. Mutta kiitoksia, homma lähtee etenemään nyt.
Aihe on jo aika vanha, joten et voi enää vastata siihen.