Ohjelman pitäisi etsiä tekstitiedostosta sana ja kertoa monenneltako riviltä sana löytyy. Tiedoston osaan lukea string-muuttujaan, mutta miten saan haettua rivinumeron, jolta haettava sana löytyy? Olisiko STL-kirjastosta apua?
STL-kirjasto
C++ noviisi
3293
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
Lue while -silmukassa rivi kerrallaan ja joka kierroksella kasvatat laskurin arvoa yhdellä.
Juuri niin olen sitä lukenutkin, mutta miten saan selville sen rivin, jolta sana löytyy?
Rivinumeron lisäksi pitäisi saada tieto monesko sana on rivillä.
Yksi tapa, ei välttämättä paras.
Luet tiedostoa rivi kerrallaan std::getline funktiolla std::string muuttujaan.
std::string:in metodilla find löydät onko kyseisellä rivillä haluamaasi sanaa. Esimerkiksi:
pos = line.find("sana")
if(pos!=-1)
{
/* sana loytyi rivilta "rivi" merkkipositiosta "pos"
nyt vain lasketaan monesko sana on kyseessä. Tuo kotitehtävänä ;)
*/
}