fread() Problem
-
Hallo,
Folgendes, ich wollte ein Bild mittels fopen("image.bmp", "rb") einlesen.
Danach soll er den gesamten Inhalt nach "image" schieben.char image[1024]; size_t bytes; fseek(stream, 0L, SEEK_END); bytes = ftell(stream); rewind(stream); if(fread(image, 1, bytes, stream) == 0) { fprintf(stdout, "Error: 2\n"); fclose(stream); return -1; }
Jedoch kommt immer ein "Bus error", was kann man tun?
-
Den Puffer auf die richtige Größe bringen wäre schon mal ein guter Anfang.
-
Was passiert wohl wenn dein Bild größer als 1024 Bytes ist? Dann wird einfach hinter dein Array weitergeschrieben und dann kann alles passieren.
-
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Linux/Unix in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.