Datei



  • Hallo Leute,

    hätte da mal ne Frage.
    Ich habe eine textdatei mit folgendem Inhalt:

    1
    2
    

    nun möchte ich, dass mir das Programm die Zahlen 1 und 2 zusammenzählt.
    nun meine Frage:
    Wie macht man das?
    (Ist zwar ein komisches Beispiel aber ich will ja nur mal wissen wie das geht 🙂 )
    Danke im Voraus



  • int i = 1+2;
    


  • 1. Zahlen einlesen und in Variablen speichern (könnte auch ein std::vector sein).
    2. Anwenden des Operators (z.B. + oder std::accumulate(..) für den std::vector).

    Grüsse Simon



  • hab meine Frage ein bisschen blöd formuliert.
    Was ich wissen will, ist wie man aus einer Textdatei die Zahlen 1 und 2 ausliest und dann in einem Programm zusammenzählen lässt.

    soweit bin ich schon gekommen:

    #include <fstream>
    #include <string>
    using namespace std;
    
    int main()
    {
     ifstream dat_ein; 
     string datei = "Zahlen.txt";
    
     dat_ein.open(datei.c_str(), ios_base::in);
     char zeichen;
     while (!dat_ein.eof())
     {
      dat_ein.get(zeichen);    // ich weiß halt nicht wie ich jetzt 1 und 2
      cout << zeichen;         // zusammenzählen lassen kann
     }
     return 0;
    }
    


  • simon.gysi schrieb:

    1. Zahlen einlesen und in Variablen speichern (könnte auch ein std::vector sein).

    Grüsse Simon

    Wie kann ich die Werte denn in Variablen speichern?



  • #include <fstream>
    #include <sstream>
    #include <string>
    #include <vector>
    #include <numeric>
    
    int main()
    {
    	std::vector<int> werte;
    
    	std::ifstream ifs("Zahlen.txt");
    	std::string str;
    	while(std::getline(ifs, str))
    	{
    		std::stringstream stm;
    		stm << str;
    		int wert;
    		stm >> wert;
    		if ( ! stm.fail())
    		{
    			werte.push_back(wert);
    		}
    	}
    	ifs.close();
    
    	int sum = std::accumulate(werte.begin(), werte.end(), 0);
    }
    


  • Ah Danke
    funktioniert 🙂 🙂 🙂 🙂


Anmelden zum Antworten