Variablen in Datei speichern!!!!



  • Hi Leutz!

    seit ehwigkeiten such ich hier und im Web wie ich 2 einfache Variablen in einer Datei speichern kann. Ich stehle mir das so vor:

    save(x,y to Koordinaten.txt);

    und später:

    load(x,y from Koordinaten.txt);

    das muss doch gehen 😕 !!! Ich kriege zwar haufen Anleitungen, die sind aber alle viel zu komplex 😞 und mach auch nicht wirklich das was ich möcht.

    Ich bitte um eure Hielfe! Danke im **Voraus!

    MFG H@ckepeter**



  • versuchs doch mal mit fread und fwrite.
    dazu gibts tolle beispiele im internet.



  • Ich finde leider nichts tolles 😞 . Könntet ihr mir nicht ein kleines beispiel zeigen wo 12 in X gespeichert wird dann in die Datei test.txt gespeichert wird die TXT sollte dann so aussehen: x = 12
    anschliessend liest das Programm die Variable und ihren wert 12 wieder ein und addiert 12 dazu. Mit so einem Beispiel könnte ich dann alles machen was ich möchte. BITTE BITTE BITTE BITTE BITTE BITTE ich bin doch noch ein Newbe 😞 BITTE BITTE BITTE BITTE BITTE

    vielen dank Hackepeter!



  • #include <conio.h>
    #include <iostream.h>
    #include <fstream.h>
    
    const int maxlang =10;
    const int maxel = 3;
    char liste [maxel][maxlang],liste2[maxel][maxlang];
    
    void main()
    {
    for(int z=0; z<maxel ;z++)
       {
       cout << "Eingabe: ";
       cin  >> liste[z];
       }
    
    //Speichern 
    
    ofstream dataus;
    dataus.open("namen",ios::out);
    int z= 0;
    do{
      dataus <<liste[z] <<"";
      z++;
      }while(liste[z-1][0]!='#');
    dataus.close();
    
    //Laden
    ifstream datin;
    datin.open("name",ios::in);
    z=0;
    while(!datin.eof())
      {
      datin >> liste2[z];
      z++;
      }
    datin.close();
    //Ausgabe
    z=0;
    for(z=0;z<maxel;z++)
         {
         cout << (z+1) << ". " << liste2[z] << endl;
         z++;
         }
    getch();
    }
    

    musst ich von nem Blat abtippen weiss nicht ob fehler rin sind geht aber auch mit dem Befehl : fwrite(liste,sizeof(liste),1,datei);

    müsste jetzt laufen

    [ Dieser Beitrag wurde am 14.12.2002 um 17:45 Uhr von mosta editiert. ]



  • Sehr vielen dank aber es funtz leider überhaubt nicht. 😞

    Er meldet die Fehler:

    Undefined symbol 'maxel'. in Zeile 7
    Ambiguous operators need parentheses. in Zeile 23 und 2 mal in Zeile 42
    Ilegal structure operation. auch in Zeile 23
    Statement missing;. in Zeile 36
    und Compound statement missing }. in Zeile 45

    Ich begreif nicht wieso ich benutze den BCB 1.0 Compiler liegt es vieleleicht daran 😕 ?

    Trotz dem sehr vielen Dank für deine mühen! 🙂



  • hab ihn editert müsste funktionieren



  • Geht aber leider überhaut net. Was für einen Compiler hast du?



  • die ausgabe funktioniert bei mir auch nicht aber er müsste jetzt eine Datei erstellt haben.

    Compiler DEV C++



  • ach mir ist aufgefallen du musst bei
    datin.open("name",ios::in);
    name namen machen da wir es alls namen speichern



  • Ne Datei hat er erstehlt auch wenn er 3 mal Eingabe verlangt und sich dann aufhängt. die Datei sied so aus(Ausschnit):
    564|‚@@AA—„SðSA4¾A¸ÐS¸\
    ¸, ¸¸œ ¸¸L
    ¸¸d ¸¸
    ¸¸è
    ¸¸˜¸¸X¸¸[url]þÿÿÿPAÈÅAA`ªAA¤«AAlÁA˜«A¸ ¸¸˜ÅA [2
    0r01272C2O2Ì:ç:ö: ;V;~;¦;õ;<<.<c<v<‰<œ<À<Ø<ü< =X=t=„=À=Ü=ì=™>º>E?f?ï?71<1e1i1-0:0€0›0I1W1_1
    2
    0r01272C2O2~;¦;õ;<<.<c<v<‰<œ<À<Ø<ü< =X=t=„=À=Ü=ì=™>º>E?f?ï?71<1e1i1-0:0€0›0I1W1_1
    2
    0r01272C2O2.<c<v<‰<œ<À<Ø<ü< =X=t=„=À=Ü=ì=™>º>E?f?ï?71<1e1i1-0:0€0›0I1W1_1
    2
    0r01272C2O2À<Ø<ü< =X=t=„=À=Ü=ì=™>º>E?f?ï?71<1e1i1-0:0€0›0I1W1_1
    2
    0r01272C2O2t=„=À=Ü=ì=™>º>E?f?ï?71<1e1i1-0:0€0›0I1W1_1
    2
    0r01272C2O2™>º>E?f?ï?71<1e1i1-0:0€0›0I1W1_1
    2
    0r01272C2O271<1e1i1-0:0€0›0I1W1_1
    2
    0r01272C2O2:0€0›0I1W1_1
    2
    0r01272C2O2_1
    2
    0r01272C2O2272C2O2!0N0Y0h0‹0¨0Þ0²1ý1V2²2¾23;3}3Ÿ3á34ü34A4O4‹4Ð4â45¦57¦79K;ã;S< 9M9ƒ9º9¿9:,:S:Y:f:v:¨0Þ0²1ý1V2²2¾23;3}3Ÿ3á34ü34A4O4‹4Ð4â45¦57¦79K;ã;S< 9M9ƒ9º9¿9:,:S:Y:f:v:²2¾23;3}3Ÿ3á34ü34A4O4‹4Ð4â45¦57¦79K;ã;S< 9M9ƒ9º9¿9:,:S:Y:f:v:Ÿ3á34ü34A4O4‹4Ð4â45¦57¦79K;ã;S< 9M9ƒ9º9¿9:,:S:Y:f:v:A4O4‹4Ð4â45¦57¦79K;ã;S< 9M9ƒ9º9¿9:,:S:Y:f:v:5¦57¦79K;ã;S< 9M9ƒ9º9¿9:,:S:Y:f:v:K;ã;S< 9M9ƒ9º9¿9:,:S:Y:f:v:ƒ9º9¿9:,:S:Y:f:v:S:Y:f:v:](http://¸<a href=)



  • Komisch warum hat er die als Hyperlink gemacht? 😕



  • du musst in zeile 32 reihe 17 ein "n" einfügen



  • Wo bei deinem Programm? wenn ich das mache geht garnix mehr!



  • boah!! 😡 wenn du bei speichern den Dateinnamen angibst da hab ich mich verschrieben das soll nicht name heissen sondern namen. bei mir funktioniert es dann. Ich kann den Inhalt der Datei auch im Editor ankucken 😡 😡 😡

    [ Dieser Beitrag wurde am 14.12.2002 um 22:46 Uhr von mosta editiert. ]



  • Kurze Variante in C

    #include <stdio.h>
    
    void save(int, const char*);
    int load(const char*);
    
    int main()
    {
     int x=12;
     save(x,"test.txt");
     x=0;                 // x ändern
     x=load("test.txt");
     printf("\n x=%d",x); // x hat den alten Wert
     x+=12;               // 12 zu x addieren
     printf("\n x=%d",x);
    }
    
    void save(int a,const char* name)
    {
     FILE *fp;
    
     fp=fopen(name, "wb");
     fprintf(fp,"x=%d",a);
     fclose(fp);
    }
    
    int load(const char* name)
    {
     FILE *fp;
     int a;
    
     fp=fopen(name, "rb");
     fseek(fp,2L,0);
     fscanf(fp,"%d",&a);
     fclose(fp);
    
     return a;
    }
    

    MfG Lem



  • Jaaaaaaaaaaaaaaaaaaaaa!!!!!!

    Genau sowas habe ich gesucht!
    Es leuft super, allerdings sollte man noch ein getchar(); einfügen das das Fenster auch mal zusehen ist, aber das ist ja nicht schlimm.

    Lem ich schulde dir was! Der Quelltext von Lem sollte unbedingt in ein FAQ den diesen Quelltext habe ich im ganzen Internet gsucht und nie gefunden!

    Also noch mal vielen dank an Lem!

    Mein Problem ist hier mit Erfolgreich abgeschlossen!

    MFG H@ckepeter



  • Es kommt allerdings nicht in die FAQ -> in der Forenbeschreibung steht das es sich hier nicht um Dateihandling geht.

    Aus gutem Grund:

    - Std-Datei-Handling gehört sowieso in das Std-Forum.
    - Anderes Win-Dateihandling gehört nach WinAPI.

    MfG SideWinder



  • @SideWinder Ganz einfach: dann tue es doch in dir Je weiligen Foren 😃



  • najo, sowas aussergewöhnliches, dass es FAQ-würdig wär is das ja nun auch wieder nicht...
    das ist doch in jedem halbwegs vernünftigen anfängerbuch zu finden



  • @Hackepeter: Auf Wunsch sicher - ich verschiebs nach Std-C.

    MfG SideWinder


Anmelden zum Antworten