Problem beim Laden-Speichern von Binärdateien



  • Hallo liebe C++ Programmierer,

    habe ein programm geschrieben zum öfnen von binärdateien unbekannter größe, und zum speichern derselbigen. bei selbst angelegten dateien via programm selbst, oder texteditor öffnet das programm anbei die datei und speichert sie identisch wieder ab ohne das sie dabei verändert wird. dies funktioniert aber nicht mit .gif dateien .jpgs und eigentlich allen anderen dateiformaten die doch eigentlich auch binärdateien sind?
    warum nicht? was muß ich modifizieren damit ich JEDE datei als binärezeichen folge öffnen und speichern kann? 😕
    weiß jemand rat? ich bin um jeden Tip sehr dankbar,
    mfg
    Markus G. alias MrCPU :xmas1:

    Hier das programm:

    #include <iostream.h>
    #include <stdio.h>
    #include <string.h>
    #include <sys/stat.h>

    struct stat results;
    char arry1[53687091];
    char arry2[53687091];

    void main(void)
    {

    //größe ermitteln
    stat("c:\\test.bin",&results);
    cout << results.st_size << endl << endl;

    // zum Lesen öffnen
    FILE *Datei = fopen("c:\\test.bin","r");
    // Array aus der Datei lesen und ausgeben
    fread(arry1,sizeof(arry1[0]),results.st_size,Datei);

    for(int i=0;i<20;i++)
    {
    cout << arry1[i] << '\n';
    }

    // Schließen der Datei
    fclose(Datei);

    // Datei c:\test.bin zum Schreiben öffnen
    Datei = fopen("c:\\test.bin","w");

    //schreiben
    fwrite(arry1,sizeof(arry1[0]),results.st_size,Datei);

    // Datei schließen
    fclose(Datei);
    }



  • Versuch mal.

    FILE *Datei = fopen("c:\\test.bin","rb");
    
    Datei = fopen("c:\\test.bin","wb");
    

Anmelden zum Antworten