我有一个程序x,我想干净地终止。您可以通过简单地执行./x来运行它,并使用终端直接将行写入stdin并通过写入exit来终止它。
但是,如果您使用:…
你正在使用getline阅读你的输入。 getline在EOF上返回-1。这很容易。
if (-1==getline(...)) break;
当您从管道读取所有输入后,将提升EOF以指示已达到完整输入。 在您的示例中,这将与exit等效,因此您还可以检查返回值 getline 查看是否已达到EOF(在这种情况下将返回-1)。
getline