Ich habe einen Code geschrieben, der diese Aufgabe zu einem gewissen Grad erfüllt. Aber ich würde gerne meinen Code so ändern, dass ich so viele String-Eingaben speichern kann, die der Benutzer in den Vektor eingeben möchte.C++ - Speichern der Benutzereingabestring getrennt durch Kommas in Vektor
Hier ist mein Code:
#include <iostream>
#include <cstring>
#include <vector>
using namespace std;
int main()
{
string input = "";
cout << "Input: ";
cin >> input;
string a,b;
for(int i = 0; i<input.size(); i++)
{
if(input.at(i)==','){
a=input.substr(0,i);
b=input.substr(i+1);
}
}
vector<string> objects;
objects.push_back(a);
objects.push_back(b);
for (int k = 0; k < 2; k++) {
cout << objects[k] << endl;
}
return 0;
}
Bisher kann sie nur erkennen und zwei Eingänge durch Komma getrennt speichern. Ich bin sehr neu im Codieren, also könnte mir jemand einen Weg zeigen, dies zu einer Schleife zu machen und so viele Eingaben wie der Benutzer eingibt?
Vielen Dank.
Dies wird für nicht funktioniert 'das ist meine Liste, a, b, c, d , Ende der Zeile. – Shark
Das Problem liegt in Ihrer for-Schleife; Sie drücken A und B nicht nach jeder Iteration in den Vektor. Sie müssen die Zeichenfolgen am Ende jeder Iteration in den Vektor einfügen und dann wiederholen. Es gibt auch kleinere Probleme in Ihrer Logik, wie @Shark aufgezeigt hat. –