Problem mit Zeigerübergabe
-
Hallo!
Ich habe folgendes Problem:p1 = buffer; p2 = strchr(p1, '|'); *p2++ = '\0'; kl.push_back(*p1); vkl.push_back(*p2);Mein bisheriger Code trennt die Variable buffer bei dem Zeichen '|' in 2 Teile auf(p1, p2). Dann soll Teil 1 in kl bzw. Teil 2 in vkl geschrieben werden. Allerdings wird immer nur das erste Zeichen von p1 bzw. p2 in die Vektoren geschrieben. Wenn ich es mit
vkl.push_back(p2);versuche bekomme ich nur die Fehlermeldung, dass ein umwandeln von 'char *' in 'const char' nicht möglich ist.
Ich hoffe ihr könnt mir helfen!
-
Ist kl vom Typ T<char> ?
-
vector<char> kleider;Ich habe keine Ahnung ob das T<char> ist!
-
Jup ist es. Ich wusste nicht ob Du einen vector einsetzt.
Das verhalten Deines Programs ist richtig. Du sagst mit vector<char> das Du einzelne chars speichern willst. Also wird push_back auch nur solche liefern.
Eventuell war hier eher vector<string> gemeint ?
-
vielen Dank, jezt ist mir klar weshalb das nicht funktioniert!
Ich werde es mal mit einem string-vektor versuchen!