Vector



  • Wie kann ich bestimmte Wörter in einem Vector auslesen und weiterverarbeiten? z.B im ersten Wort steht männlich und im zweiten Frank, im dritten weiblich im vierten Rebecca... Schonmal danke 👍



  • Was hast du denn in deinem Vector abgespeichert?

    Wenn du std::vectorstd::string hast, dann kannst du entweder selber nach Leerzeichen suchen oder aber die Aufgabe von std::istringstream lösen lassen:

    std::string wort1, wort2, wort3, wort4;
    std::istringstream is(str);
    str >> wort1 >> wort2 >> wort3 >> wort4;
    

    P.S. Ein Array bzw. ebenfalls ein std::vectorstd::string wäre zwar jetzt für die Wörter hier angebrachter, aber ich will mal den Threadersteller nicht verwirren...



  • Hallo,
    @Schokiiiii: lieg ich damit richtig, dass du einen std::vectorstd::string hast, in dem einige Wörter abgespeichert sind. Jetzt willst du den Vector so lange durchsuchen, bis ein bestimmtes Wort kommt und dieses weiterverarbeiten?
    @Th69: Wieso nach Leerzeichen suchen? Wenn die Wörter in einem Vector sind gehe ich davon aus, dass an der ersten Stelle des Vectors das erste Wort steht, usw.



  • Ja ich habe einen std::vectorstd::string



  • Dann kannst du einfach mittels Iteratoren alle Einträge durchgehen und schauen, ob es den gesuchten String beinhaltet.

    std::vector<std::string> li;
    
    	for (std::vector<std::string>::iterator it (li.begin ()); it != li.end (); it++)
    	{
    		if ((*it) == "frank")
    		{
    			//...
    		}
    	}
    


  • oder ohne Iterator:

    std::vector<std::string> li;
    for (int i=0;i<li.size();++i)
    {
      if ( li[i] == "frank" )
         //...
    
    }
    


  • Sind wir wieder mal auf Kriegsfuß mit der stdlib?

    vector<string> foo;
    vector<string>::iterator bar = find(foo.begin(), foo.end(), "Frank");
    

Anmelden zum Antworten