Eingabe in textdatei speichern?



  • Hi,

    ich brauch mal wieder ein stück eurer kompetenz.

    Was muss ich noch machen, um eine Eingabe in eine Datei zu schreiben?
    Die Eingabe soll in die datei gespeichert werden und dann später in einem array(Funktionübergreifend) ausgegeben werde, dass aber erst später.

    #include <iostream>
    #include <cstdlib>
    #include "func.h"
    #include <fstream>
    #include <ostream>
    #include <cstdlib>
    #include <iomanip>
    #include <string>
    
    ...
    
    void neubuchung()
    { 
    
        string Mein_Name;
    
        cout<<"Gib dein Name ein !"<<endl<<endl;
        getline(cin,Mein_Name);
    
        ofstream File("test.txt"); 
    
                                     //Eine Zeile aus einer Textdateien kann mit 
                                     //der Funktion getline() ausgelesen werden.   Nachfolgende Zeilen öffnen eine 
                                     //Textdatei und geben die erste Zeile an der Konsole aus.
       ifstream file("test.txt");
    
       std::string read_conso;
       getline(file,read_conso);
    
    }
    

    MfG

    Shrek2k1



  • Du kannst in das Dateiobjekt "File" genauso etwas schreiben wie auf das Konsolenobjekt "cout".



  • ehrlich gesagt versteh ich das nicht so ganz, könntest du deine Aussage in Syntax umschreiben, vllt. blick ich es dann besser 😛

    MfG

    Shrek



  • Ist doch eigentlich nicht schwer:

    std::string write_console = "Hallo";
    file << write_console; // <- wie beim std::cout
    

    Sowohl std::cout, cin als auch ifstream/ofstream sind Streams, die die << und >> Operatoren überladen. Können also alle gleichermaßen benutzt werden.



  • ...
    
    string name;
    
    cout << "Geben Sie ihren Namen ein: ";
    file >> name;
    

    so wohl nicht,

    ich glaub ich muss mir streams nochmal genauer anschauen...
    ich weiss zwar wie ich ein File auslese und mir anzeigen lassen kann, nur wie ich was in ein file schreibe über eine Variable ist mir nicht so schlüssig.



  • Shrek2k1 schrieb:

    ...
    
    string name;
    
    cout << "Geben Sie ihren Namen ein: ";
    file >> name;
    

    Du liest den Namen nicht per Konsole ein. Außerdem, was ist 'file'?

    Nachdenken 💡



  • jo ceplusplus, deine Kommentare kannst du dir sparen.

    Ich hab halt keine Ahnung, bin gerade auf der Arbeit und such eine Lösung wenn du eine sinnvolle hast, Poste sie oder lass es sein, aber deine Kommentare brauchst hier nicht ablasen.

    Shrek 👎



  • Toll, wenn du mal mehr 💡 würdest, müsstest du nicht so viele Fragen stellen.

    Also nochmal:

    cout << "Geben Sie ihren Namen ein: ";
    file >> name;
    

    Du liest den Namen nicht per Konsole ein. Außerdem, die Pfeile ( >> ) geben dir doch netterweise sogar schon den Datenstrom an, somit schreibst du hier VON 'file' NACH 'name', du willst es aber doch umgekehrt...

    💡 ⚠

    Aber ich bin nett 👍

    #include <iostream>
    #include <fstream>
    #include <string>
    using namespace std;
    
    int main()
    {
    	string name;
    	cout << "Name eingeben: ";
    	cin >> name;
    
    	cout << "Name wird nun in test.txt geschrieben..." << endl;
    	ofstream testFile("test.txt");
    	testFile << name;
    	testFile.close();
    
    	cout << "Bist du jetzt froh?" << endl;
    }
    

    😮



  • hubs jetzt hab ich es gerafft, danke schön ceplusplus! 👍

    und 💡 sollte ich vllt. doch mal machen, nur Kopf voll im Moment...

    Firma geht in die insolvenz etc. pp.


Anmelden zum Antworten