0x00 ist bei Textdateien anders als bei Bitmaps...komisch!!!



  • Dann muss der Fehler da liegen, wo ihr das mit fread eingelesene wieder ausschreibt, bevor ihr es mit dem Hexeditor anguckt. Habt ihr da fwrite benutzt oder möglicherweise sowas wie fprintf??



  • Der code oben ist der den wir z.Z. dafür nutzen!
    Wir schrieben unsere entzippten daten mit fwrite wieder in eine Datei!

    selbst in den Methoden von zlib wird bei uns nichts mit fprintf gemacht!

    😕 sven



  • Bitte erstmal in kleinen Schritten. Wenn du fread nicht vertraust, dann teste fread, und zwar ohne den zlib-Kram drumherum. Ganz simples Testprogramm, zb sowas:

    #include <stdio.h>
    int main() {
      FILE *file = fopen("meins.bmp", "rb");
      fseek(file, 0, SEEK_END);
      long laenge = ftell(file);
      rewind(file);
    
      char * buffer = new char[laenge];
    
      fread(buffer, 1, laenge, file);
      fclose(file);
    
      file = fopen("kopie.bmp", "wb");
      fwrite(buffer, 1, laenge, file);
      fclose(file);
    
      return 0;
    }
    

    laufenlassen und danach gucken, ob die beiden Dateien sich unterscheiden. Wenn beide gleich sind, liegt der Fehler schonmal nicht bei fread/fwrite. So als vertrauensbildende Maßnahme ...

    Wenn ich ein Compiler wär, würd ich übrigens an der Stelle aussteigen:

    delete Puffer;
        delete original;
    

    Da beide Zeiger auf dieselbe Adresse zeigen ist das ein doppeltes delete. Komisch dass da nichts passiert.



  • bei eurem code kriegt man ja das kotzen. wie kann man noch C sachen verwenden?



  • Leider kann ich "fstream"-Objekte nicht verwenden, da ich fuer PocketPc progge.
    Ich verwende fopen, fread, fwrite, etc.



  • Also "STOERENFRIED" wer lesen kann ist klar im Vorteil!

    Leider kann ich "fstream"-Objekte nicht verwenden, da ich fuer PocketPc progge.
    Ich verwende fopen, fread, fwrite, etc.

    DORT gibt es kein fstream!! Wurde unter WinCE leider nicht implementiert und da bleibt einem nicht mehr viel übrig als auf c auszuweichen!
    Soviel dazu!

    Wir hatten schon ein Prog erstellt welches mit fread usw.. bmp dateien zerteilt und anschließend wieder zusammen fügt! Klappte alles ohne Probleme.
    Nur seit dem wir mit zlib arbeiten funzt es nicht mehr so wie wir es wollen!
    Zu mal wir darauf angewiesen sind den Stream zeichenweise zu durchforsten!
    Es ist komisch ich weiß, aber beim Zeichenweisen einlesen der bmp passiert genau dieser Fehler das er mir bei einem 00 nicht alle zeichen liefert die es sein sollen!

    danke wegen dem delete das ist uns nicht aufgefallen!

    sven



  • thx Bashar 😃



  • erzähl doch nicht so ein mist. es kommt auf den compiler an!



  • Unser frißt es 😃



  • guten morgen bashar!

    dake fuer deinen gestrigen tipp es nochmals ohne zeichenweises auslesen zu probieren

    wir hatten da wahrscheinlich vorher einen bock und haben uns missleiten lassen

    es geht wirklich ohne....fread reicht voellig!

    danke!

    Guenni


Anmelden zum Antworten