このタスクをある程度実行するコードがあります。しかし、私はどのように私はあなたがベクトルに入力したい多くの文字列入力を格納することができるように自分のコードを変更したいと思います。ここでC++ - コンマで区切られたユーザー入力文字列をベクトルに格納する
は私のコードです:
#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;
}
これまでのところ、それが唯一のカンマで区切られた2つの入力を認識し、保存することができます。私はコーディングに非常に新しいので、誰かがこれをループにして、ユーザーが入力するのと同じくらい多くの入力を取り入れる方法を私に示すことができますか?
ありがとうございます。
これは 'これは私のリストであり、A、B、C、Dのために動作しません。 、end of line.' – Shark
問題はあなたのforループにあります。各反復後にAとBをベクトルに押し込んでいるわけではありません。各繰り返しの終わりに文字列をベクトルに入れてから、繰り返す必要があります。 @Sharkが指摘したように、あなたのロジックには小さな問題もあります。 –