Neuling2010 Geschrieben 16. November 2010 Geschrieben 16. November 2010 Hi Leute Ich bins nochmal, habe diesmal folgendes Problem Ich wollte mit einem fstream eine Datei öffnen und anschließend die einzelnen Zeilen einlesen und durchnumerieren . Hatt aber nicht geklappt!! Kan mir vieleicht jemand sagen wie man soetwas am besten macht ???:old Gruß neuling 2010 Zitieren
Klotzkopp Geschrieben 16. November 2010 Geschrieben 16. November 2010 Hatt aber nicht geklappt!!Das ist eine völlig unzureichende Fehlerbeschreibung. Kan mir vieleicht jemand sagen wie man soetwas am besten macht ???:oldZeig doch mal, was du gemacht hast. Zitieren
Neuling2010 Geschrieben 16. November 2010 Autor Geschrieben 16. November 2010 (bearbeitet) Hier ist mein Code class Bibiothek{ private: vector<GatterTyp*> bibElemente; string datei; public: Bibiothek(); ~Bibiothek() {} string getPfad() {return datei} GatterTyp*getbibElemente(string typ); void dateiAusgabe(); void dateiAuswerten(); void pfadEinlesen(); inline void openError(); inline void readError(); }; #include "Klassen.h" #include <vector> #include <fstream> GatterTyp*Bibiothek::getbibElemente(string typ) { GatterTyp e; vector<GatterTyp*>::iterator it; for(it=bibElemente.begin();it!=bibElemente.end();++it) {if(e.getname()==typ){return bibElemente;break;};}; } void Bibiothek::dateiAusgabe() {fstream meineBibiothek ("bib.txt"); if(!meineBibiothek){openError()} string zeile; int i; while(!meineBibiothek.eof()) {i++; getline(meineBibiothek,zeile) cout<<i<<":"<<zeile<<endl; } meineBibiothek.close(); } void CBibliothek:: pfadEinlesen() { cout << "Pfad und Name der Bibliothek-Datei:" << endl; cin >> datei; } inline void Bibiothek::openError() {cout<<"Fehler beim oefnen der Datei!!"<<endl; exit(1);} Bearbeitet 16. November 2010 von Klotzkopp Code-Tags hinzugefügt Zitieren
Klotzkopp Geschrieben 16. November 2010 Geschrieben 16. November 2010 Jetzt hast du den Code hingeklatscht (die Code-Tags fügst du beim nächsten Mal bitte selbst ein), aber was nicht klappt, hast du nicht geschrieben. Ein paar allgemeine Hinweise: Benutz ifstream zu Lesen, ofstream zum Schreiben. Die Prüfung mit eof ist falsch. Eof liefert erst dann true, wenn das Lesen schon einmal fehlgeschlagen ist. Du kannst einfach mit while(getline(meineBibiothek,zeile)) arbeiten. Close brauchst du auch nicht aufzurufen, das macht der Destruktor. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.