c++ zahl einer datei in variablenschreiben und les

Von: , 22.05.2011 20:26 Uhr


Wie kann ich int werte die in einer .txt stehen in Variablen kopieren und variablen in einer .txt datei speichern

7 Antworten zu dieser Frage

  1. Antwort von nach 11 Stunden 0 hilfreich
    Re: c++ zahl einer datei in variablenschreiben und les

    Hallo,
    Grundsätzlich lässt sich das einfach über sogenannte "filestreams" lösen. Man legt sich dann Variablen an und kann diese (bzw. deren Werte) einfach in eine Datei streamen. Beim lesen geht das umgekehrt. Du kannsst entweder Zeilenweise oder bis zum nächsten Leerzeichen lesen. Das Ganze speichert man in einem String und diesen kann man dann abfragen bzw. die Daten etsprechend verwerten. Beispiele dazu findest man im internet genug.

    Hier eine Funktion mit der man int Werte auslesen kann. Es sollten dann allerdings wirklich nur Intwerte ein der Textdatei sein und keine buchstaben etc.


    int readValue(){

    int value;

    ifstream in;
    in.open("value.txt");
    in >> value;
    in.close();

    return value;
    }



    Detaillierte Erklärungen, wie man Zeilenweise auslesen bzw. Schreiben kann findes du zum Bsp. auch hier:
    http://www.willemer.de/informatik/cpp/fileop.htm


    Hoffe das war hilfreich. Falls du etwas spezielleres brauchst, dann bitte einfach nochmal schreiben.

    MfG




    Wie kann ich int werte die in einer .txt stehen in Variablen
    kopieren und variablen in einer .txt datei speichern

    • Antwort von nach 19 Stunden 0 hilfreich
      Re^2: c++ zahl einer datei in variablenschreiben und les

      Danke für die schnelle Antwort,
      dass war genau das richtige allerdings bekomme ich folgendes: -858993460 ausgegeben obwohl ich 33 in die .txt datei geschrieben habe.

      Muss ich das nochumwandeln und wenn ja wie.

      Mein bisheriger code:

      int readValue(){

      int value;

      ifstream in;
      in.open("value.txt");
      in >> value;
      in.close();

      return value;
      }

      int main()
      {
      int ergebniss;
      ergebniss = readValue();

      cout << ergebniss;

      return 0;
      }

      PS: Wen ich die Wete mit einer Schleife auslese bekomme ich nur die Ascii Codezeichen.

      • Antwort von nach 2 Tagen 0 hilfreich
        Re^3: c++ zahl einer datei in variablenschreiben und les

        Hallo,
        sorry für die späte Antwort, weiß nicht ob du sie noch brauchst.
        Du kannst das txt-file scheinbar nicht öffnen --> streaming funktionen bitte immer Abfragen ob der Zugriff(in deinem Fall das Öffnen) auch wirklich funktioniert:

        int readValue(){

        int value;

        ifstream in;
        in.open("value.txt");
        if (!in){
        cout << "unable to open file" << endl;
        exit(1);
        }
        in >> value;
        in.close();

        return value;
        }

        Liegt dein value.txt vielleicht im falschen Pfad?

        LG

      • Antwort von nach 2 Tagen 0 hilfreich
        Re^: c++ zahl einer datei in variablenschreiben und les

        du hast probleme das file zu öffnen. du erhältst keinen Wert sondern eher einen Fehlercode. Man kann auch den ganzen Pfad zum txt file angeben um sicher zu gehen das das richtige genommen wird (hier \\ zur Ordnerternnung verwenden - die doppelten Backslashes werden benötigt, da ein einfacher auch als String-Escape Operator fungiert).


        #include <fstream>
        #include <iostream>
        using namespace std;

        int readValue(){
        int value;
        ifstream in;
        in.open("C:\\temp\\value.txt");
        if (!in){
        cout << "unable to open file" << endl;
        exit(1); //exit with error
        }
        in >> value;
        in.close();

        return value;
        }

        int main() {
        int ergebniss;
        ergebniss = readValue();
        cout << ergebniss << endl;
        return 0;
        }


        vielleicht löst sich dann auch das Problem mit der Schleife...

        LG

        • Antwort von nach 2 Tagen 0 hilfreich
          Re: Re^: c++ zahl einer datei in variablenschreiben und les

          Jetz verstehe ich,
          ich kann die datei gar nicht öffnen obwohl ich den ganzen
          Pfad angegeben habe woran könnte das liegen ich habe Adminrechte.

          Wenn ich das so mache:

          ofstream text("datei.txt");
          cout << "Geben sie den Text ein: " << endl << endl;
          cin.ignore(1,'\n');
          cin.getline(buffer,255);
          text << buffer;
          text.close();



          ifstream ftext("datei.txt");

          char eingabe;


          cout << "Der Inhalt: " << endl;
          char ch;
          while(ftext.get(ch))
          {
          cout << ch;
          }

          ftext.close();



          Kann ich auf die datei zugreifen aber sie eben nur ausgeben und nicht in variablen speichern.

          LG

          • Antwort von nach 3 Tagen 0 hilfreich
            Re^2: Re^: c++ zahl einer datei in variablenschreiben und les

            tut mir leid, bin auch schon einige Zeit weg von dateioperationen und bin zeitlich grad etwas eingeschränkt, das ich nicht wirklich zeit habe mir das momentan anzusehen.

            vielleicht kann dir ja ein anderer experte weiterhelfen oder du konsultierst google ;-) da ist es zwar mehr zum lesen, aber das müsste sich doch finden lassen.

            Lg

            • Antwort von nach 3 Tagen 0 hilfreich
              Re^3: Re^: c++ zahl einer datei in variablenschreiben und les

              Ok,
              vielen dank für deine Hilfe.Ich lese den Link noch einmal gründlich durch.

              mfg

              spaccee

Jetzt auf diese Frage antworten.