For Schleife??!?!



  • was ist mit meiner for schleife los?

    void member()
    {
      cout << "ID" << '\t' << "Name" << endl;
    for(int b = 0; b > 9; b++)
    	    {
    	      ifstream myFile3;
    	      myFile3.open("passwords.txt");
    	      int id = 0;
    	      string inhalt = " ";
    		myFile3 >> id >> inhalt;
    	      cout << id << '\t' << inhalt << endl;
    	      myFile3.close();
    	    }
    
    }
    

    funktioniert nicht 😞



  • die bedingung ist schon zu beginn false. b ist nicht größer als neun

    void member()
    {
      cout << "ID" << '\t' << "Name" << endl;
    for(int b = 0; b < 9; b++) //kleiner als
            {
              ifstream myFile3 ("passwords.txt"); //besser als open
              int id = 0;
              string inhalt = " ";
            myFile3 >> id >> inhalt;
              cout << id << '\t' << inhalt << endl;
              //close ist überflüssig.
            }
    
    }
    


  • danke ^^""



  • string inhalt = " ";
    

    Naja std::string-Konstruktor setzt schon als Standardtext einfach nix. Brauchst de also nicht machen 😉

    void member()
    {
        std::cout << "ID\tName\n"; // warum hier schon flushen? Newline reicht.
    
        for (std::size_t i(0); i < 9; ++i) // std::size_t oder unsigned int ... 0 ... 8 sind positive Werte!
        {
            std::ifstream file_stream("passwords.txt"); // Konstruktor ...
    
            unsigned int id(0); // id ist positiv (?)
            std::string content;
            file_stream >> id >> content;
            std::cout << id << '\t' << content << '\n';
            // file_stream.close() wird vom Destruktor von file_stream aufgerufen!
        }
    }
    

    aber so gibst du 9 mal die gleiche Zeile aus. Sicher das du das willst? Nicht das du den Filestream vor der Schleife öffnen willst und so 9 Datensätze ausließt?


Anmelden zum Antworten