我正在尝试编写一个程序来获取一系列单词,将它们放入一个向量中然后用它们做事。我找到了一种有效的方法,即:
{
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"
充当流终止符?
答案 0 :(得分:1)
EOF
在-1
中定义为cstdio
。您可以尝试#undef EOF
和#define EOF "Quit"
,但这可能会破坏依赖EOF
为有符号整数和/或-1
的实现。所以基本上,不要管它。