Wie pausiert man in C?

Lesezeit: 3 Minuten

Benutzer-Avatar
CathyLu

Ich bin ein Anfänger von C. Ich starte das C-Programm, aber das Fenster schließt sich zu schnell, bevor ich etwas sehen kann. Wie kann ich das Fenster pausieren?

du kannst Geben

getchar();

vor der Rückkehr von der Hauptfunktion. Das wartet auf eine Zeicheneingabe, bevor es das Programm beendet.

Alternativ könnten Sie Ihr Programm über eine Befehlszeile ausführen und die Ausgabe wäre sichtbar.

  • Ja, dann drücken Sie einfach eine beliebige Taste, um das Programm zu beenden und das Fenster zu schließen.

    – Michael K

    2. Februar 2011 um 0:21 Uhr

  • +1 für “von der Befehlszeile ausführen”, eine Fähigkeit, die heutzutage schmerzlich fehlt.

    – Johannes Bode

    2. Februar 2011 um 17:13 Uhr

  • @John – einverstanden, besonders wenn Ihr Programm auf der Konsole druckt, wäre es nur sinnvoll, es über die Befehlszeile auszuführen.

    – Gavin H

    2. Februar 2011 um 17:38 Uhr

  • Es hängt davon ab, an wen Sie verteilen. Wäre auch schön, wenn Sie den Unterschied zwischen einem Befehlszeilenaufruf und einem Doppelklick erkennen und entsprechend handeln könnten.

    – Samie Bencherif

    29. April 2019 um 14:27 Uhr

Wenn Sie nur wollen Verzögerung das Schließen des Fensters, ohne dass tatsächlich eine Taste gedrückt werden muss (getchar() Methode), können Sie einfach die verwenden sleep() Methode; es dauert die Menge von Sekunden Sie wollen als Argument schlafen.

#include <unistd.h>
// your code here
sleep(3); // sleep for 3 seconds

Verweise:
sleep() Handbuch

Unter POSIX-Systemen scheint die beste Lösung zu sein:

#include <unistd.h>

pause ();

Wenn der Prozess ein Signal empfängt, dessen Wirkung darin besteht, ihn zu beenden (normalerweise durch Eingabe von Strg+C im Terminal), dann pause nicht zurück und der Vorgang wird durch dieses Signal effektiv beendet. Eine fortgeschrittenere Verwendung ist die Verwendung einer Signalerfassungsfunktion, die aufgerufen wird, wenn das entsprechende Signal empfangen wird, und danach pause kehrt zurück und setzt den Prozess fort.

Hinweis: verwenden getchar() funktioniert nicht, wenn die Standardeingabe umgeleitet wird; daher diese allgemeinere Lösung.

Ist es ein Konsolenprogramm, das unter Windows läuft? Wenn ja, führen Sie es von einer Konsole aus, die Sie bereits geöffnet haben. dh führen Sie “cmd” aus, wechseln Sie dann in Ihr Verzeichnis, in dem sich die .exe befindet (mit dem Befehl cd), und geben Sie dann den exe-Namen ein. Ihr Konsolenfenster bleibt geöffnet.

Benutzer-Avatar
Akashbhatia

getch() kann auch verwendet werden, die in conio.h definiert ist.

Das Beispielprogramm würde so aussehen:

#include <stdio.h>
#include <conio.h>

int main()
{
    //your code 
    getch();
    return 0; 
} 

getch() wartet auf eine Zeicheneingabe über die Tastatur (nicht unbedingt die Eingabetaste).

  • Dies ist nur unter Windows. Unix hat keine conio.h

    – Jerry Jeremia

    3. Juni 2014 um 0:01 Uhr

Benutzer-Avatar
Daniel Gell

Könnte man auch einfach verwenden system("pause");

  • Dies ist nur unter Windows. Unix hat keine conio.h

    – Jerry Jeremia

    3. Juni 2014 um 0:01 Uhr

Benutzer-Avatar
r1cebank

Wenn Sie ein Konsolenfensterprogramm erstellen, können Sie system(“pause”);

  • @JerryJeremiah er sagte “Fenster”. Ich finde pause funktioniert auch unter Linux und Mac.

    – David Callanan

    4. Januar 2018 um 11:31 Uhr


1362120cookie-checkWie pausiert man in C?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy