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");