Elektronika - baza wiedzy

Jak zapobiec zniknięciu konsoli po zakończeniu programu?


A właściwie jak przedłużyć działanie programu tak aby zaczekał, aż użytkownik wciśnie dowolny klawisz.

Istnieje oczywiście kilka możliwości rozwiązania tego problemu. Ja przedstawię 2 z nich:

1. Często spotykanym sposobem rozwiązania tego probelmu jest wywołanie funkcji system(), z parametrem "pause". Sposób ten jest znany choćby z windowsowego Dev C++, ale nie jest dość elastyczny, gdyż polega na wywołaniu systemowego polecenia PAUSE, więc w systemach innych niż windows nie sprawdza się. Wynik działania kodu:

system("pause");

...wygląda następująco:

 
Aby kontynuować, naciśnij dowolny klawisz . . .

2. Użycie funkcji getch(). Ten sposób polega na użyciu funkcji znajdującej się w pliku nagłówkowym conio.h, która w tym przypadku czeka na naciśnięcie dowolnego klawisza.

#include <iostream>
#include <conio.h>

using namespace std;

int main(int argc, char *argv[])
{
    getch();
    return 0;
}