2

我正在尝试编写一个程序来获取一系列单词,将它们放入一个向量中,然后对它们进行处理。我找到了一种可行的方法,即:

{
    vector<string> inputs;
    string Input;
    cin >> Input;
    while (Input != "Quit") 
    {
        inputs.push_back(Input);
        cin >> Input;
    }
}

但是我正在尝试使用另一种方法来做到这一点,即:

{
    istream_iterator<string> ii(cin);
    istream_iterator<string> eos;
    vector<string> inputs(ii, eos);
}

但我不知道如何制作Quit平均 EOF,这将结束输入流并将单词放入向量中。如何使字符串"Quit"充当流终止符?

4

1 回答 1

1

EOF定义-1cstdio。您可以尝试#undef EOFand #define EOF "Quit",但这可能会破坏依赖于EOF有符号整数和/或-1. 所以基本上,别管它。

于 2012-07-10T19:27:40.040 回答