gpt4 book ai didi

c++ - 将 EOF 重新定义为字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:31:33 26 4
gpt4 key购买 nike

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

{
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,这将结束输入流并将单词放入 vector 中。如何使字符串 "Quit" 充当流终止符?

最佳答案

EOFcstdio 中定义为-1。您可以尝试 #undef EOF#define EOF "Quit",但这可能会破坏依赖于 EOF 作为有符号整数的实现,并且/或 -1。所以基本上,别管它。

关于c++ - 将 EOF 重新定义为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11413308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com