Search code examples
c++exit-code

How to terminate a program with Ctrl-D?


I am trying to write a simple program that simulates a calculator. I would like the program to exit or turn-off when the Ctrl+D keystroke is made. I searched through stackoverflow and saw other examples of Ctrl+C or Ctrl+A but the examples are in java and C.

for C:

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

for java, a SIGINT is raised when Ctrl+Z is pressed.

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

I am wondering what can I do for Ctrl+D in C++...

Thanks everyone!


Solution

  • Ctrl+D will cause the stdin file descriptor to return end-of-file. Any input-reading function will reflect this, and you can then exit the program when you reach end-of-file. By the way, the C example should work verbatim in C++, though it may not be the most idiomatic C++.

    Is this homework, by the way? If so, please be sure to tag it as such.