fwrite und fopen



  • So, schon wieder ein problem.
    diesmal will ich ein dreidimensionales feld in eine datei speichern und dann wieder auslesen. geht aber irgendwie nicht. hier mal mein code:

    char memory[100][10][50];
    FILE *fp;
    int x, y;
    //eingabetext 
    if (fp = fopen("files.dat","w+")
    {
        for (x=0;x<100;x++)
        {
            for (y=0;y<10;y++)
            {
                fwrite(memory[x][y],sizeof(memory),strlen(memory[x][y]),fp);
            }
        }
    }
    fclose(fp);
    /*und genau dasselbe mit fread(...)*/
    

    woran kann das nun liegen, dass ich nach fread nix in memory[][][] drinstehen hab???

    [ Dieser Beitrag wurde am 10.10.2002 um 17:13 Uhr von Dingeling editiert. ]



  • hi

    beim ersten blick drüber finde ich hier ein semikolon

    if (fp = fopen("files.dat","w+"); <-

    das echt falsch da rumfliegt..



  • nene, das hab ich einfach nur falsch abgetippt 🙄



  • Original erstellt von Dingeling:
    **So, schon wieder ein problem.
    diesmal will ich ein dreidimensionales feld in eine datei speichern und dann wieder auslesen. geht aber irgendwie nicht. hier mal mein code:

    char memory[100][10][50];
    FILE *fp;
    int x, y;
    //eingabetext 
    if (fp = fopen("files.dat","w+");
    {
        for (x=0;x<100;x++)
        {
            for (y=0;y<10;y++)
            {
                fwrite(memory[x][y],sizeof(memory),strlen(memory[x][y]),fp);
    

    **

    hmm... irgendwas stimmt hier nicht. Du sagst: Jedes Element ist sizeof(memory) gross (bei mir wäre das 4), und Du willst strlen(memory[x][y]) Elemente schreiben. Ich würde an der Stelle eh besser mit fputs arbeiten (dran denken, dass Du noch selber ein Trennzeichen schreiben musst!)

    **```cpp
    }
    }
    }
    fclose(fp);
    /und genau dasselbe mit fread(...)/

    Und hier liegt das Problem: wie sollen wir einen Fehler beim Einlesen finden, wenn Du nicht den Code zeigst?



  • hä, was. steh ich auf'm schlauch oder du??
    was brauchste denn für ein code?

    aber egal, mit fputs gehts wirklich ein bisschen besser 😉


Anmelden zum Antworten