我试图写一个简单的程序,模拟计算器。我想程序退出或关闭按Ctrl + d键击时作出。我搜索通过计算器,看到Ctrl + C键或Ctrl + A的其它例子,但这些例子在java和C.
对于C:
(scanf("%lf", &var);
对于Java,当按下Ctrl + Z键一个SIGINT
上升。
signal(SIGINT,leave);
for(;;) getchar();
我想知道我能在C按Ctrl + d做++ ...
感谢大家!
如果你需要用Ctrl-d终止而读取输入。
while ( std::cin ) // Ctrl-D will terminate the loop
{
...
}
按Ctrl + d将导致标准输入文件描述符返回档案结尾。任何输入阅读功能将反映这一点,那么你就可以退出程序,当你到达档案结尾。顺便说一句,将C的例子应该在C ++中逐字工作,虽然它可能不是最地道的C ++。
这是功课,顺便说一下?如果是这样,请务必将其标记为此类。
你可以让生活更轻松,扫描,如“跳槽”或“退出”的关键词。我最后一次使用计算器,这些话不是在键盘上。
许多简单的计算器程序读取输入由一个换行符终止文本。他们分析在内存中的文本,然后吐出一个答案。
其它更复杂的计算器程序使用窗户和事件驱动。一些使用按钮如“=”,以信号输入和计算的开始的端部(不上RPN计算器工作)。
这些技术除去确定结束使用控制字符序列文本输入的麻烦,并且更便于携带。
在Unix下,终端将解释按Ctrl + d(在一个空行)作为输入的结束;进一步读取stdin
将返回EOF
,您可以观看。
在Unixy平台按Ctrl + d是EOF。如果您收到的每个字符,你可以检查看看,如果你有EOF。