Verwendung des Befehls system(„pause“) in C++
In diesem Artikel werden wir uns ansehen, wie der system(„pause“) Befehl in C++ verwendet wird.
Wichtiger Hinweis
Bevor Sie diesen Artikel durchgehen, beachten Sie, dass der Befehl system(„pause“) nur in Windows-Systemen verfügbar ist. Das bedeutet, dass Sie diesen nicht von einem Linux- oder Mac-Computer aus verwenden können.
Der system()-Befehl
Bevor wir uns den Befehl system(„pause“) ansehen, verstehen wir, was system() tut.
#include <cstdlib>
int system(const char *command);
Die Funktion system() führt einen Aufruf an das Betriebssystem aus, um einen bestimmten Befehl auszuführen. Beachten Sie, dass wir die Header-Datei <cstdlib> einbinden müssen. Dies ist sehr ähnlich dem Öffnen eines Terminals und dem manuellen Ausführen dieses Befehls. Wenn Sie beispielsweise den Befehl „ls“ von Linux verwenden möchten, können Sie system(„ls“) verwenden.
Beispiel für Linux/Mac
Wenn Sie einen Linux- oder Mac-Computer haben, können Sie den folgenden Code ausprobieren.
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
// Probieren Sie den Befehl "ls -l" von Ihrem Linux- / Mac-Computer aus
int ret = system("ls -l > test.txt");
return 0;
}
Mögliche Ausgabe
Gesamt 16
-rwxr-xr-x 1 2001 2000 9712 Jun 25 21:11 a.out
-rw-rw-rw- 1 2001 2000 209 Jun 25 21:11 main.cpp
-rw-r--r-- 1 2001 2000 0 Jun 25 21:11 test.txt
Verwendung des Befehls system(„pause“) in C++
Dies ist ein Windows-spezifischer Befehl, der dem Betriebssystem mitteilt, das Pause-Programm auszuführen. Dieses Programm wartet darauf, beendet zu werden, und stoppt die Ausführung des übergeordneten C++-Programms. Erst nachdem das Pause-Programm beendet wurde, setzt das ursprüngliche Programm seine Ausführung fort.
Beispiel für Windows
Wenn Sie einen Windows-Computer verwenden, können Sie den folgenden Code ausführen:
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
for (int i=0; i<10; i++) {
cout << "i = " << i << endl;
if (i == 5) {
// Rufen Sie den Pause-Befehl auf
cout << "Rufe den Pause-Befehl auf\n";
system("pause");
cout << "Pause-Programm beendet. Fortsetzung...\n";
}
}
return 0;
}
Ausgabe – Von Windows-System
i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
Rufe den Pause-Befehl auf
Drücken Sie eine beliebige Taste, um fortzufahren . . .
Pause-Programm beendet. Fortsetzung...
i = 6
i = 7
i = 8
i = 9
E:\Programs\sample.exe (Prozess 14052) wurde mit Code 0 beendet.
Nachteile der Verwendung des Befehls system(„pause“)
Der Hauptnachteil von system(„pause“) ist, dass dieser plattformspezifisch ist. Dies funktioniert nicht auf Linux/Mac-Systemen und ist nicht portabel.Obwohl dies als eine Art Hack für Windows-Systeme funktioniert, kann dieser Ansatz leicht Fehler verursachen, wenn Sie versuchen, den Code auf anderen Systemen auszuführen! Daher würde ich einige andere alternative Methoden vorschlagen, um ein Programm anzuhalten und fortzusetzen, wie zum Beispiel die Verwendung von Signalhandlern.
Schlussfolgerung
In diesem Artikel haben wir gelernt, wie wir den Befehl system(„pause“) in C++ verwenden können.