string fruits [200];
如何将字符串输入数组?
Example:
My mom has apples;
So , fruits array will contain:
fruits[0] = "My";
fruits[1] = "mom";
..........etc.
我该怎么做?
答案 0 :(得分:6)
如果您正在阅读标准输入:
int i = 0;
for (string word; cin >> word; i++)
names[i] = word;
如果您正在使用string
阅读,请改用istringstream
。
答案 1 :(得分: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>
修复了必须猜测将输入多少单词以及生成错误猜测后果的问题。
答案 2 :(得分:0)
最紧凑的解决方案:
vector<string> words;
copy(istream_iterator<string>(cin),
istream_iterator<string>(),
back_inserter(words));
这是@ dasblinkenlight的解决方案,使用临时变量编写。