Moi,
Miten pääsee tekstitiedostossa rivin alkuun?
Eli tarkoitus on lukea tekstitiedoston viimeisen rivin alkua.
Alla koodia millä pääsee tiedoston loppuun ja x tavua taakseppäin
file.seekg(0, ios_base::end); // käskyllä tiedoston loppumerkkiin file.seekg(-2, ios_base::cur); // käskylla peruutetan 2 tavua viimeisen rivin loppuun
MUTTA miten pääsen nyt tämän viimmeisen rivin alkuun, jonka pituus ei ole vakio?
Vaikka selaamalla.
file.seekg(0, ios_base::end); // käskyllä tiedoston loppumerkkiin file.seekg(-2, ios_base::cur); // käskylla peruutetan 2 tavua viimeisen rivin loppuun while( file.peek() != '\n' ){ file.seekg( -1, ios_base::cur); } file.seekg( 1, ios_base::cur); //ollaan rivin alussa
selli kirjoitti:
käskylla peruutetan 2 tavua viimeisen rivin loppuun
Tiedoston lopussa ei välttämättä ole rivinvaihtoa, ja rivinvaihto ei useinkaan ole kahta tavua vaan yhden. Siis viisaampaa olisi tarkistaa ensin, onko tiedoston viimeinen merkki rivinvaihto, ja jos on, voi peruuttaa siitä yhden taaksepäin.
Kiitti vastaajille, noinhan se meni. Rivin alku löytyi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.