000
21.02.2006, 14:59 Uhr
AndreasB
|
Ich arbeite mit Dev C++, ich habe eine Klasse in der auf eine Datei zugegriffen werden soll. Aber wenn ich etwas mit ifstream in der Klasse deklarier stützt das Programm einfach ab. Beim Debuggen erscheint die Meldung "Segmentation Fault".
Wenn ich die Deklaration oberhalb der Klasse vornehme stürzt es erst bei Dateizugriffen ab. also was ich jetzt in diesem Code nicht mache.
Es gibt nur eine Instanz der Klasse im ganzen Programm. Das könnte noch wichtig sein, habe so etwas gelesen, aber nicht verstanden...
main.cpp
C++: |
#include <stdio.h> #include <stdlib.h> #include "image.h"
int main() { Fileimage *datei; //Hier tritt der Fehler auf datei->open("image.bin"); datei->close(); system("Pause"); return 0; }
|
image.h (gekürzt)
C++: |
#include <fstream> using namespace std;
class Fileimage { private: ifstream fp; public: void open(const char *name); void close();
};
void Fileimage::open(const char *name) { fp.open(name, fstream::in | fstream::binary); if (!fp) { fprintf(stderr, "Konnte Image \"%s\" nicht öffnen!\n", name); exit(1); } printf("Test 1\n"); //Lesen, Variabeln und so sind Deklariert... typcount=fp.get(); printf("Test 2\n"); }
void Fileimage::close() { fp.close(); }
|
mfg Andreas Dieser Post wurde am 21.02.2006 um 15:00 Uhr von AndreasB editiert. |