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

回到顶部