Gibt es eine einfache Möglichkeit, eine durch Leerzeichen getrennte Zeichenkette in einen Vektor von Ints zu konvertieren, oder etwas, das ich einfach in einen Vektor umwandeln kann?Konvertieren einer Zeichenkette von Zahlen in einen Int-Vektor C++
Ich erstelle einen Eingabeoperator (>>), um einen binären Baum zu erstellen, der Werte verwendet, die von der Befehlszeile eingegeben werden. Und das ist die Haupt, die mit ihm
int main(int argc, char **argv)
{
stringstream stream;
stream << " 10" << " 11" << " 10" << " 2" << endl;
tree = new binary_tree();
stream >> *tree;
if (tree->inorder() != string("7 10 11")) //inorder() prints the tree in order
cout << "Test passed" << endl;
delete tree;
return 0;
}
Das Problem, das ich habe ist, dass geht, während ich erstellen und die Werte gedruckt, die ich brauche, ich kann sie nicht konvertieren und sie in einen Vektor setzen - für die Ich habe eine funktionierende definierte Methode, die einen Baum aus den Werten erstellt.
std::istream& operator>>(std::istream &in, binary_tree &value)
{
vector<int> input_tree;
string readline;
getline(in, readline);
cout << "(" << readline << ")" << endl; //prints correctly - (10 11 10 2)
//where I need to insert insert values into vector
for(int i = 0; i < input_tree.size(); i++)
{
insert(input_tree[i], value); //inserts the values from a vector into a binary tree
}
return in;
}
ich versucht habe, durch den Strang Looping und mit stoi() auf jedes Zeichen, aber es ist immer fehlerbehaftete, wenn die Räume Fehler verursacht wurden.
Vielen Dank für jede Hilfe und Entschuldigung, wenn ich irgendwelche wichtigen Informationen verpasst habe.
Sie müssen genau zeigen, wie Sie die Eingabe zu konvertieren versucht, anstatt sie zu verlassen und diesen Code zu ersetzen mit dem „// wo ich brauche Einsatz Werte in dem Vektor einzufügen“ Kommentar. stackoverflow.com ist kein Code-Schreibdienst. Niemand wird Ihren Code für Sie schreiben. Aber, wenn Sie versucht haben, die Eingabe in Ihren 'int'-Vektor zu parsen, und es funktioniert nicht richtig, und Sie wissen nicht, was falsch ist, dann wäre dies eine gültige Frage. Aber "bitte schreibe den Code für mich" ist keine gültige Frage. –
Die Frage ist, ob es eine Möglichkeit gibt, eine Zeichenfolge in einen Vektor Typ zu konvertieren, ich fordere niemanden auf, meinen Code zu schreiben Ich frage nach einer ganz bestimmten Sache, während ich meinen Code als Referenz zeige. –
KL123
Nun, wenn das deine Frage ist, dann lautet die Antwort "ja, es gibt einen Weg". –