Manuel Skrevet 7. juni 2004 Del Skrevet 7. juni 2004 (endret) Driver å lærer meg c++ og har fått i "oppgave" å skrive ut linjene i en fil fra siste til første linje. Jeg vet at det blir noe tull i for-løkken, og det virker hvis jeg setter variabel "i" til linjeantallet. Ergo: Det må være noe tull med lines.size() som får løkken til å skrive ut noe som får programmet til å kræsje. #include <string> #include <iostream> #include <fstream> #include <vector> using namespace std; int main() { vector<string> linjer; ifstream inndata("vektor.cpp"); string linje; while(getline(inndata, linje)){ linjer.push_back(linje); } cout << "Størrelsen på vektoren: " << linjer.size() << endl << " Trykk en tast" << " for at programmet skal henge seg..."; cin.get(); for(int i = linjer.size(); i > 0; i--) cout << i << ": " << linjer[i] << endl; cin.get(); cin.get(); return 0; } Dette er en av oppgavene i guiden "Thinking in C++", for de som måtte lure :-) Endret 7. juni 2004 av Manuel Lenke til kommentar
søppel Skrevet 7. juni 2004 Del Skrevet 7. juni 2004 (endret) ... for(int i = linjer.size() - 1; i >= 0; i--) ... Ang. kræsjing, (seg fault) .. så kan du søke på forumet her, så har jeg skrevet en post om hvordan du finner ut hvor ting kræsjet o.l. Edit: Her: http://forum.sourcecode.no/index.php?showt...dpost&p=2035536 Endret 7. juni 2004 av søppel Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå