1

ストリングフルーツ[200];

配列に文字列を入力するにはどうすればよいですか?

Example:
My mom has apples;
So , fruits array will contain:
fruits[0] = "My";
fruits[1] = "mom";
..........etc.

どうやってやるの?

4

3 に答える 3

6

標準入力から読み取っている場合:

int i = 0;
for (string word; cin >> word; i++)
    names[i] = word;

から読んでいる場合は、代わりstringにを使用してください。istringstream

于 2012-11-19T14:37:45.370 に答える
3

標準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>すると、入力される単語の数を推測する必要があり、間違った推測を行った結果に耐えるという問題が修正されます。

于 2012-11-19T14:42:36.230 に答える
0

最もコンパクトなソリューション:

vector<string> words; 
copy(istream_iterator<string>(cin), 
     istream_iterator<string>(), 
     back_inserter(words));

これは@dasblinkenlightのソリューションであり、一時変数を使用して記述されています。

于 2012-11-19T15:59:38.330 に答える