Frage zu Vectoren:
-
Also, ich hab den Code:
std::vector<char*> _parameter; char * buffer = "123"; _parameter.push_back(buffer); char * buffer2; strcpy(buffer2,_parameter[0];aber bei strcpy stürzt das programm immer ab. (der Compiler meldet aber keinen Fehler).
Kann mir bitte jemand sagen, was falsch ist, und wies besser geht? Danke
-
Kein Speicher geholt
-
bzw. buffer2 nicht inizialisiert

Übrigens solltest du lieber std::string anstelle von char* verwenden - ist deutlich einfacher zu handhaben und vermeidet auch derartige Probleme.
-
Danke, kann ich bitte noch den Code für die richtige Version haben? (mit char*).
-
"char* buffer2 = new char[strlen(_parameter[0])+1)];" - der Rest kann so bleiben (wenn du dich unbedingt mit blanken char-Zeigern herumschlagen willst).
-
#include <vector> #include <string> int main() { std::vector<std::string> items; items.push_back("Test :: 01"); std::string item("Test :: 02"); items.push_back(item); item = "Test :: 03"; items.push_back(item); item = "Test :: 0"; item += "4"; items.push_back(item); }so schön und einfach lässt sich mit std::string arbeiten!