Mehrdimensionales Array in Datei ausgeben



  • Hallo, ich habe folgendes Problem, ich habe ein 4 Dimensionales Array erstellt um Meine Arbeitszeiten zu erfassen und zwar mit Datum, Beginn,Ende und Arbeitszeit. Damit ich aber nach Programmende die Daten noch habe, bzw beim nächsten Start des Programms muss ich die Daten aus dem Array in eine Datei speichern, nur habe ich keine Ahnung wie das gehen soll.

    das Array sieht folgendermaßen aus :

    Tabelle[6][30][11][2]
    


  • überdenke bitte dein konzept

    da wäre diese struktur schon sinnvoller:

    struct myData{
            time_t blabla; //alles eingetragen, datum mit uhrzeit
        }
    

    brauchst ja nichtmal eine struktur



  • das meine versuchter lösungsansatz nicht der beste ist weiß ich ja, aber auch wenn ich deine Lösung versuche, Beim nächsten Programmstart habe ich trotzdem die eingetragenen Daten nicht, wie z.b Der Arbeitsbegin vom Vortag etc..



  • die daten sind auch dann weg, wenn du ein array benutzst. du musst die daten auf einen datenträger speichern, z.b. festplatte.
    gruß,
    B.



  • xD ja will ich ja...
    ich frage ja wie 🙂
    wenn ich das array in eine datei ausgeben könnte, könnte ich es beim nächsten mal wieder einlesen, ich weiß nur ned ob des so hinhaut wie ich mir des vorstelle



  • dein array kannst du mit 4 for-schleifen speichern, oder mit fwrite 6*30*11*2*sizeof(_dein_datentyp) in einem befehl speichern, etc.
    ist aber, wie schon von 'denken' geschrieben wurde, viel zu umständlich.
    den beginn und das ende der arbeitszeit kannst du je in eine zahl vom typ time_t packen, ist ein long integer glaub ich. einem time_t wert kannst du mit den zugehörigen funktionen alle weiteren infos, wie tag, datum, jahr etc. entnehmen.
    die arbeitszeit kannst du berechnen.

    ein möglicher aufbau deiner struktur könnte so aussehen:

    struct Arbeitszeit
    {
        time_t anfang;
       time_t ende;
    };
    struct Arbeitstag* pA;
    struct Arbeitstag
    {
        time_t tag;
        unsigned n;  
    }arbeitstag;
    

    besteht dein tag z.b. aus 3 arbeitsintervallen, dann kannst du 3 strukturen vom typ Arbeitszeit erzeugen (malloc), die struktur Arbeitstag initialisieren und den ganzen salat ans ende einer datei hängen: Arbeitstag speichern, Arbeitszeit(en) speichern. beim einlesen gehst du umgekehrt vor: aus Arbeitszeit erhällst du aus dem n, wie viele strukturen du zum einlesen brauchst, etc.
    ist nurn vorschlag.
    gruß,
    B.H.


Anmelden zum Antworten