ストリングフルーツ[200];
配列に文字列を入力するにはどうすればよいですか?
Example:
My mom has apples;
So , fruits array will contain:
fruits[0] = "My";
fruits[1] = "mom";
..........etc.
どうやってやるの?
標準入力から読み取っている場合:
int i = 0;
for (string word; cin >> word; i++)
names[i] = word;
から読んでいる場合は、代わりstring
にを使用してください。istringstream
標準C++ライブラリを最大限に使用したい場合vector<string>
は、配列の代わりに入力イテレータと入力イテレータを使用してください。
vector<string> words;
back_insert_iterator< vector<string> > back_iter (words);
istream_iterator<string> eos;
istream_iterator<string> iit (cin);
copy (iit, eos, back_iter);
を使用vector<string>
すると、入力される単語の数を推測する必要があり、間違った推測を行った結果に耐えるという問題が修正されます。
最もコンパクトなソリューション:
vector<string> words;
copy(istream_iterator<string>(cin),
istream_iterator<string>(),
back_inserter(words));
これは@dasblinkenlightのソリューションであり、一時変数を使用して記述されています。