Programmieren - alles kontrollieren 4.942 Themen, 20.719 Beiträge

fread() haengt das System auf

Dreamforger / 2 Antworten / Baumansicht Nickles

Noch ne frage:
Ich will eine ganze, bis zu 32MB grosse Datei von der Festplatte in den Speicher laden. Dazu habe ich ein

struct mystruct {
long size;
unsigned int *data;
}

um die Daten aufzunehmen. In der ladenenden Funktion arbeite ich mit einer Referenz auf das Konstrukt- Dank an thomas woelfer. Bisher verwende ich folgenden code um das Ding zu laden :

bei Antwort benachrichtigen
Anonym Dreamforger „fread() haengt das System auf“
Optionen

Frage: Hast du daran gedacht Speicher zu allozieren ?

also:

...
in->size = ftell();
in->data = (int*)malloc(in->size);
...

ansonsten liest er ins Nirvana...

j.

Ps: Achte auf sizeof(int) sizeof(char)

bei Antwort benachrichtigen
Dreamforger Anonym „Frage: Hast du daran gedacht Speicher zu allozieren ?also:...in- size ftell in-...“
Optionen

Danke,
an den Speicher hatte ich schon gedacht.
Mein C++ Compiler hatte bloß probleme damit ein ganzes Arry auf einmal einzulesen
In der Zwischenzeit hab ichs jetzt selbst lösen können
while(fread(&(*ret->data), sizeof(ret->data), 1,

bei Antwort benachrichtigen