如何终止使用Ctrl-d的程序?

问题描述 投票:2回答:5

我试图写一个简单的程序,模拟计算器。我想程序退出或关闭按Ctrl + d键击时作出。我搜索通过计算器,看到Ctrl + C键或Ctrl + A的其它例子,但这些例子在java和C.

对于C:

(scanf("%lf", &var);

对于Java,当按下Ctrl + Z键一个SIGINT上升。

signal(SIGINT,leave);  
    for(;;) getchar();

我想知道我能在C按Ctrl + d做++ ...

感谢大家!

c++ exit-code
5个回答
1
投票

如果你需要用Ctrl-d终止而读取输入。

 while ( std::cin ) // Ctrl-D will terminate the loop
{
  ...
}

3
投票

按Ctrl + d将导致标准输入文件描述符返回档案结尾。任何输入阅读功能将反映这一点,那么你就可以退出程序,当你到达档案结尾。顺便说一句,将C的例子应该在C ++中逐字工作,虽然它可能不是最地道的C ++。

这是功课,顺便说一下?如果是这样,请务必将其标记为此类。


0
投票

你可以让生活更轻松,扫描,如“跳槽”或“退出”的关键词。我最后一次使用计算器,这些话不是在键盘上。

许多简单的计算器程序读取输入由一个换行符终止文本。他们分析在内存中的文本,然后吐出一个答案。

其它更复杂的计算器程序使用窗户和事件驱动。一些使用按钮如“=”,以信号输入和计算的开始的端部(不上RPN计算器工作)。

这些技术除去确定结束使用控制字符序列文本输入的麻烦,并且更便于携带。


0
投票

在Unix下,终端将解释按Ctrl + d(在一个空行)作为输入的结束;进一步读取stdin将返回EOF,您可以观看。


0
投票

在Unixy平台按Ctrl + d是EOF。如果您收到的每个字符,你可以检查看看,如果你有EOF。

© www.soinside.com 2019 - 2024. All rights reserved.