Tekstsøge program, ifstream og getline

Tags:    c++

Jeg er igang med at lære c++. Jeg har kastet mig ud i et et projekt med at lave et program, der kan søge en tekst fil for en given tekst streng.
Jeg er dog stødt ind i et problem nu. Jeg åbner en fil, FilePatch, med en ifstream, FileSearch. For at søge i filen ville det måske være en god ide at indlæse den linie for linie og dermed søge i hver linie. Ideen er at jeg gemmer hver linie i en vector med tekst strenge. Den relevante kode ser således ud:

Fold kodeboks ind/udKode 

Spørgsmålet er hvordan kan jeg være sikker på at hele linien bliver indlæst? Hvis nu linien er længerer end 254 bogstaver så bliver noget af den jo smidt væk. Jeg kan selvfølgelig gøre tallet større, men det løser ikke problemet ændrer bare lidt på omfanget.



Brug den version af getline der læser ind i en std::string, så kan du læse linier med (næsten) uendelig linie længde.



Brug den version af getline der læser ind i en std::string, så kan du læse linier med (næsten) uendelig linie længde.


Hvordan ser den ud?
Jeg kunne rigtig godt bruge et referenceværk der beskrev alle standard c++ objekterne.



http://www.cppreference.com/

http://www.sgi.com/tech/stl/stl_index.html



Indlæg senest redigeret d. 24.04.2006 22:24 af Bruger #4996
Et eksempel:

Fold kodeboks ind/udKode 




http://www.cppreference.com/

http://www.sgi.com/tech/stl/stl_index.html


Bruger også selv http://www.cppreference.com/ og den er ganske udemærket. Den er bare langt fra komplet, f.eks. beskriver den ikke getline(ifstream, string). Er der nogle gode opslagsbøger der beskæftiger sig med hele STL?

Tak for forslaget. Jeg vil prøve det ved næstkommende lejlighed. Jeg vender sikkert tilbage når jeg støder på et nyt problem i mit tekstsøge program :)



Den version af getline er beskrevet under string:

http://www.cppreference.com/cppstring/index.html



t