Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Vector an Vector übergeben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
25.07.2003, 13:50 Uhr
~Sergey
Gast


Hi!

1)
Ich habe einen vector<string>, der sagen wir mal nur int-Werte beinhaltet. (Vorher befanden sich auch strings hierin, deswegen ein vector<string>

Wie kann ich diesen vector<string> strVec auf ein vector<int> intVec übertragen?

2) Wie sieht es aus, wenn ich nur einige Elemente aus einem vector<string> an ein vector<int> übertragen müßte?

Danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.07.2003, 14:01 Uhr
0xdeadbeef
Gott
(Operator)



C++:
#include <iterator>
#include <vector>
#include <string>
#include <sstream>

using namespace std;

//...

vector<string> zahlen_als_strings;
vector<int> zahlen_als_ints;

for(vector<string>::iterator itr = zahlen_als_strings.begin(); itr != zahlen_als_strings.end(); ++itr) {
    stringstream s;
    int i;

    s.str(*itr);
    s >> i;

    zahlen_als_ints.push_back(i);
}


Alles klar?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 25.07.2003 um 14:02 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.07.2003, 14:04 Uhr
~Sergey
Gast


Danke!

Ich werde es gleich ausprobieren.

Könnte man diese Vorgehensweise auch auf meine (2.) - Frage übertragen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.07.2003, 14:13 Uhr
0xdeadbeef
Gott
(Operator)


Klar. Allerdings solltest du dann noch die Methode

C++:
s.clear();


benutzen. Für den Fall, dass in dem String keine Zahl drinsteht, wird im stringstream das fail-bit gesetzt, und solange das gesetzt ist, rückt der Stream nichts raus. Die clear()-Methode setzt alle Flags auf den Normalzustand zurück, und wenn du dann noch per stringstream::str(string) einen neuen String in den Stream packst, läuft das wieder.
Für eine vernünftige Übersicht schau mal hier rein: www.cplusplus.com/ref/iostream - da ist die ganze iostream-library der STL erklärt.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: