C++ 如何在控制台中结束c++;?

C++ 如何在控制台中结束c++;?,c++,console,C++,Console,代码如下所示: while(getline(cin, line)) { // do something } 如何告诉控制台停止接受输入 是指向完整代码的链接。您应该添加一个条件,如line==“end”,如果发生这种情况,则中断while循环,但如果您希望避免更改代码,Ctrl+D将发送一个EOF并通知终端停止接受输入。在类似Unix的系统(包括Linux)上点击Ctrl+D,或Windows上的ctrl+Z是向命令行程序发出“输入结束”信号的标准方式(传统上称为“EOF”表示“文件结

代码如下所示:

while(getline(cin, line))
{
    // do something
}
如何告诉控制台停止接受输入


是指向完整代码的链接。

您应该添加一个条件,如
line==“end”
,如果发生这种情况,则中断while循环,但如果您希望避免更改代码,Ctrl+D将发送一个EOF并通知终端停止接受输入。

在类似Unix的系统(包括Linux)上点击Ctrl+D,或Windows上的ctrl+Z是向命令行程序发出“输入结束”信号的标准方式(传统上称为“EOF”表示“文件结束”)。它将导致
std::getline
返回一个值,该值将在while语句中计算为
false
,结束循环并继续程序的其余部分。

在while循环中添加一个条件,即何时停止。您可以执行与c样式字符串相同的操作:以金丝雀值终止,有效输入中不可能存在的值。测试所有输入的金丝雀值。如果输入不是金丝雀,则将其添加到数组中。如果是金丝雀,则退出循环。不要忘记,当阵列已满时,您还需要停止。“并将告诉终端停止接受输入。”不完全是这样。终端将愉快地继续接受输入。它实际做的是设置一些eof位,但您可以清除它们并继续读取。(在Linux上您可以使用
std::cin.clear()
,在macOS上您需要使用
std::cin.clear()
std::clearr(stdin)
)。