Zweidimensionales Array mit fwrite in Binärdatei schreiben



  • HAllo,
    bin neu hier, mal sehen wies funktioniert.
    Also Ich habe ein zweidimensionales Array pic[dim][dim] deklariert und definiert. Nun stehen auch Werte drin. Diese möchte ich per fwrite in eine Datei zeilenweise in eine Binärdatei schreiben. Das funktioniert aber nicht:
    FILE *dat_out;

    if ((dat_out = fopen("vp.pgm", "wb"))== NULL)
    {
    cerr << "File could not be opened!\n";
    return 1;
    }

    for (int i=0; i < dim; i++) {
    fwrite(pic[i], sizeof(int), dim, dat_out)
    }

    fclose(dat_out);
    Was kann man hier falhsc machen ???

    Danke für einen Hinweis



  • Könntest du ein wenig konkreter werden, was funktioniert dabei nicht?
    Stehen falsche oder zuwenig Werte drin?

    Hinter der fwrite fehlt ein ;

    Ich hoffe du hast für dim ein

    #define dim wert
    

    gesetzt?!

    cerr
    

    und

    for(int i=0;...)
    

    ist im übrigen c++, hat hier also nichts zu suchen!

    Aber trotzdalldem weiß ich auch nicht, warum es nicht geht. Hab bei mir mal den Code abgetippt und in der Binärdatei stande anscheinend auch die richtigen Werte, aber spätestens beim auslesen in eine andere Matrix gab es Probleme.



  • Hallo Richard,
    vielen Dank für Deine schnelle Antwort. Mittlerweile habe ich eine Standardbibliothek gefunden, die mein Grundproblem, nämlich das schreiben eins PGM-Files löst.

    Funktioniert gut.

    Problem ist also gelöst.

    Viele Grüße vom Ahnungslosen.


Anmelden zum Antworten