Speichern von eingaben in einer Datei



  • Also hoffe mir kann jemand helfen hab schon vergeblich gegoogelt....
    Ich bräuchte ein Bsp. wie man eine Zahl in eine datei abspeichert und diese wieder aufruft....damit man z.B. Heute eine 3 eingibt die gespeichert wird und morgen geb ich 4 ein dann speichert er die gesamte zahl ab also 7 usw....



  • Hallo,

    #include <iostream>
    #include <sstream>
    #include <fstream>
    
    using namespace std;
    
    const int MAX = 10;
    
    int main()
    {
            // Datei öffnen...
            ifstream file("zahl.txt");
    
            char czahl[MAX];
            // Inhalt der Datei in czahl speichern...
            file.getline(czahl, MAX);
    
            stringstream temp;
    
            // char[] nach Stringstream...
            temp << czahl;
            int izahl;
    
            // ...Stringstream nach int
            temp >> izahl;
            // Zahl um 4 erhöhen...                          
            izahl+=4;
    
            // Gleiche Datei für Ausgabe öffnen...
            ofstream fileOut("zahl.txt");
            // Überschreibe alten Wert
            fileOut << izahl;
    }
    

    Sollte erstmal funktionieren. Allerdings geht das auch nur, wenn in der Datei wirklich nur eine Zahl drinsteht. Aber Fehlerabfrage und sowas kannste ja selbst machen....



  • Wow vielen Dank für die schnelle antwort!



  • #include <fstream>
    
    using std::ifstream;
    using std::ofstream;
    using std::ios;
    
    #include <iostream>
    
    using std::cin;
    
    #include <string>
    
    using std::string;
    
    const string file("text.txt"); // const char* const file = "dateiname";
    typedef unsigned int uInt;
    
    uInt load()
    {
        ifstream fin(file.c_str(), ios::in);
    
        if(!fin) 
            return 0; 
    
        uInt i;
    
        fin >> i; 
        fin.close();
    
     return i;
    }
    
    void save(uInt i)
    {
        i += load(); 
    
        ofstream fout(file.c_str(), ios::out);
    
        fout << i;
        fout.close();
    }
    
    int main(void) 
    {
        uInt i;
        cin >> i;
    
        save(i); 
    
    #ifdef WIN32
     system("PAUSE"); // Windows Only
    #endif
     return 0;
    }
    

    Streams und Dateien in C++

    mfg



  • CarstenJ schrieb:

    Aber Fehlerabfrage und sowas kannste ja selbst machen....

    Ich war vielleicht langsamer, aber ich habe eine Fehlerabfrage! 😉

    mfg



  • Nicht nur das, dein Code ist auch noch schöner. Man muss halt auch verlieren können 😉


Anmelden zum Antworten