C++ is one of the most perennially powerful and popular programming languages. Using a fast and reliable compiler and C or C++ IDE to create your C program and applications is very important for both beginners and professionals alike since it helps developers in remembering which language features exist, how to use them, and even detect errors when we get them wrong.
But writing a C program is more than just the skill of getting the app to run in the first place. It’s important to know how to make the app behave properly within the environment of the computer or device on which it is running. Proper behavior isn’t just about how and where we read and store data but also slightly less obvious things like making sure our app terminates properly under various conditions. The instructions in this article apply to a C++ or C program. So, how we can end a running C or C++ app?
Table of Contents
How to Stop a C program in Terminal when running?
- If you run your C or C++ app in Command Prompt, and it is in loop or you want to end this running program, just press Ctrl+C to end the app. This is default in Windows and Linux console apps, in addition Mac-OS console apps too.
- If you are running C or C++ app in the C++ IDE, there is a STOP button to stop the application from running. You can use the PAUSE button to Pause and continue too.
- In Windows, if you are not able to end your C++ application, the last chance is to use Task Manager. Right-click on the taskbar – or Start button in Windows 11 and then choose Task Manager. In the Task Manager, find your C++ app listed and right-click on it then select “end task”.
How to correctly end a C++ app which is executing a loop?
If you are a developer and your want to stop app you can use return 0; to end your application. If you want to end the loop of a program only in Terminal with Ctrl+C, you must use a signal handler. Let’s consider you have a lot of calculations in a loop, and you want to end and exit from your loop and you want to continue to other command lines as below,
1 2 3 4 5 6 7 8 9 10 11 |
#include <iostream> int main() { while (true){}; std::cout << "Safe to exit\n"; system("pause"); return 0; } |
If you run this example above and you press Ctrl+C this will end all the application, You will not see the “Safe to exit” prompt and pause operation. How can you exit a C++ loop but not the main()
? Todo this, you should create a signal handler i.e. sighandler() that changes a parameter check i.e. loop. Then you should set this signalhandler by the signal()
command as below,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#include <iostream> #include <signal.h> volatile sig_atomic_t loop; void sighandler(int snum) { loop = 1; } int main() { signal(SIGINT, sighandler); while (!loop){}; std::cout << "Safe to exit\n"; system("pause"); return 0; } |
How to end a C++ app which is running in C++ Builder?
C++ Builder is the easiest and fastest C and C++ IDE for building simple or professional applications on the Windows, macOS, iOS & Android operating systems. It is also easy for beginners to learn with its wide range of samples, tutorials, help files, and LSP support for code. C++ Builder comes with Rapid Application Development Studio, also known as RAD Studio, and C++ Builder is one of the most professional IDE’s that work under RAD Studio. It is the oldest IDE (it began as Borland TurboC in 1990 and was later renamed Borland C++ Builder). Under the Embarcadero brand, multiple new versions have been released, year upon year, along with great new features, updates, and support to ensure that your apps can stay current. RAD Studio’s C++ Builder version comes with the award-winning VCL framework for high-performance native Windows apps and the powerful FireMonkey (FMX) framework for cross-platform UIs.
You can simply run your application in Debug mode and use STOP button to exit from your C or C++ application. If you run your application in release mode and you are not able to stop your app via window close buttons, you must use Task Manager in Windows and you should end your application by the right click and kill process operations.
You can download the free C++ Builder Community Edition here: https://www.embarcadero.com/products/cbuilder/starter.
Professional developers can use the Professional, Architect or Enterprise versions of C++ Builder. Please visit https://www.embarcadero.com/products/cbuilder.