如何将文本输入到字符串数组中?

时间:2012-11-19 14:35:45

标签: c++ string input

string fruits [200];

如何将字符串输入数组?

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

我该怎么做?

3 个答案:

答案 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的解决方案,使用临时变量编写。