wie man einen string in ein integer-array c++
Ich habe einen string, der enthält, was immer der Benutzer eingegeben hat
string userstr = "";
cout << "Please enter a string ";
getline (cin, userstr);
Den string dann gespeichert in userstr, dann möchte ich den string gespeichert werden in einem integer-array, wobei jedes Zeichen ist einem anderen element im array. Ich habe erstellt ein dynamisches array wie das folgende:
int* myarray = new int[sizeof(userstr)];
Aber wie mache ich das dann bekommen meine string in das array?
- -1 was meinst du.
sizeof(userstr)
ist nicht das gleiche wieuserstr.length()
oderuserstr.size()
.- mögliche Duplikate von C++ - String-Länge?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie den Zugriff auf die einzelnen element in Ihrem string mit der [] - operator, wird wieder eine Referenz auf einen char. Sie können dann abziehen, den int-Wert für char '0', und Sie erhalten die korrekte int-Darstellung.
Des beendenden null wurde nicht angehängt, um das array. Wenn Sie es brauchen, ordnen Sie das array mit einem element mehr und Stelle das abschließende null selbst.
myarray
in einer Weise, dass würde automatisch seine Speicher frei, wenn es den Bereich verlässt. I. eint myarray[ userstr.size() ];
Können Sie einfach verwenden isstringstream zu konvertieren Sie die Zeichenfolge in int wie folgt
nun hat es magisch geworden, eine int, die alle zahlen aus dem string
Aber ich sehe nicht ein, warum Sie würde nicht cin es als int in den ersten Platz??
Hier ist ein Weg, es zu tun