C++停止询问输入在CTRL-D
我想获得用户输入,直到CTRL-D被击中。如果我是正确的,控制d发出一个EOF信号,所以我试着检查cin.eof()是否为true,但没有成功。C++停止询问输入在CTRL-D
这里是我的代码
string input; cout << "Which word starting which year? ";
while (getline(cin, input) && !cin.eof()) {
cout << endl;
...
cout << "Which word starting which year? ";
}
回答:
所以,你想读的,直到EOF,这是通过简单地使用while循环和函数getline实现:
std::string line; while (std::getline(std::cin, line))
{
std::cout << line << std::endl;
}
这里使用getline
(函数getline返回流)你得到的输入,如果你按Ctrl+D
,你摆脱了while循环。
重要的是要注意,EOF在Windows和onLinux上的触发方式不同。您可以使用CTRL+D
(用于* nix)或CTRL+Z
(用于Windows)从命令行模拟EOF。
以上是 C++停止询问输入在CTRL-D 的全部内容, 来源链接: utcz.com/qa/258153.html