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
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.
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
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden