1. 使用cin

    

    string word;

    while (cin >> word)

        do something.


    这种情况下,当cin 遇到空格,\tab,和换行符时,则终止提取。比如,“word, is a word", 提取出的字符为"word," "is" "a" "word"。


2. 使用getline


    string word;

    getline(cin, word);

    这时,cin将整行"word, is a word"读入字符串word。然后,可以使用sringstream对象处理该字符串。

    stringstream ss(word);

    string token;

    while(ss >> token)

        do something.


 3. 遇到标点符号


    可以使用<algorithm>中的erase把标点符号去掉,比如去掉逗号,

    word.erase(remove(word.begin(), word.end(),','), word.end());