fwrite/fread problem



  • Hmm, seltsam. Wenn es zu anstrengend wäre, ein gerkürztes lauffähiges Beispiel zu machen, könntest du den Code auch z.B. auf codepad.org posten. Mit etwas Glück findet sich jemand, der das dann ausprobiert und den Fehler findet.
    🙂



  • Probiere statt

    REAL* M;
        REAL* N;
        M=createVector(10);
        N=createVector(10);
    

    mal

    REAL M[]={1.,2.,3.,4.,5.,6.,7.,8.,9.,10.};
    REAL N[]={-1.,-2.,-3.,-4.,-5.,-6.,-7.,-8.,-9.,-10.};
    

    Da dürfte dann anschließend nichts mehr abbrechen.
    Liefert printmatrix denn die richtigen Ergebnisse, d.h. ist A korrekt allokiert und hat die richtigen Ergebnisse?



  • Ja, jetztt mit der Änderung bricht echt nix mehr ab.

    Und ja, A liefert die korrekten Ergebnisse,
    alle Ausgaben und Rechnungen unten mit A liefern die richtigen Ergebnisse(die Lösungen die rauskommen sollen haben wir angegeben).

    Aber warum hat das Programm abgerbochen, wenn ich Createvector benutzt habe?!

    Das ist ja mist so, weil ja dann immer, wenn ich createvector und read benutze der gleiche Fehler nochmal auftauchen könnte...



  • Hallo nochmals,
    Mein Abgabepartner hat das kleine, aber dumme Problemchen gelöst..

    REAL* V;
    V=create1Dfield(*size);

    pFile = fopen ( fileName, "rb" );

    fread (size,sizeof(int), 1, pFile);

    Zweite Zeile V benötigt schon size, aber ich lese das erst später aus.

    Ergo, Zeilen vertauscht und es funzt!!!

    Danke nochmal für eure Hilfe.
    Viele Grüße,
    Slabic



  • Das hilft wohl alles nichts, versuche mittels Debugging oder zur Not mit printf rauszufinden, welche Zeile genau den Abbruch verursacht.


Anmelden zum Antworten