fstream in klassen
-
Hallo Leute ich habe ein Problem mit dem Einbinden eines fstream objektes in eine klasse.
Ich weiß nicht wieso, aber es funktioniert einfach nicht, wenn ich eine Datei lesen will, wo die lese und lade funktionen in einer klasse sind.Wenn ich normal fstream.opebn.., fstream.write...fstream.close schreibe funktioniert alles, aber wenn ich eine klasse mit einer funktion erstelle und das dort mache geht es nicht.
Kann mir da einer helfen ??
#include <fstream> #include <iostream> using namespace std; class A { public: fstream f; A(string name) { Load(name); } ~A() { } void Load(string a); };#include "a.h" void A::Load(string a) { f.open(a.c_str(),fstream::binary); f.write("dsfsd",5); f.close(); }Danke
-
Es geht nicht. Das ist ja sehr aussagekräftig ...
-
Ja was soll ich sagen, ich bekomme immer ein fstream.bad->true, also wird die Datei nicht erstellt/geladen.
Wenn ich einfach folgendes im Main schreibe:
fstream a("abc.txt",fstream::binary); a.write("abc",3); a.close();Das geht einwandfrei.
Wenn ich das aber in den Konstruktor einer klasse packe:
class A { public: A() { fstream a("abc.txt",fstream::binary); a.write("abc",3); a.close(); } }; und mit A* a = new A(); das ganze erstelle bekomme ich ein fstream.bad->trueIch weiß nicht warum
-
Ja ich bin......dumm

Mann muss ja noch fstream::out schreiben oder in fürs lesen, was ich vergessen habe
-
Bob Wolfskin schrieb:
using namespace std;Lass das in Headern bleiben!
-
fstreams als Member halte ich fuer ziemlich fragwuerdig.