Hoe pauzeren in C?

Ik ben een beginner van C. Ik voer het C-programma uit, maar het venster sluit te snel voordat ik iets kan zien. Hoe kan ik het venster pauzeren?


Antwoord 1, autoriteit 100%

je kunt

getchar();

voor de terugkeer van de hoofdfunctie. Dat wacht op een tekeninvoer voordat het programma wordt afgesloten.

Als alternatief kunt u uw programma uitvoeren vanaf een opdrachtregel en de uitvoer is dan zichtbaar.


Antwoord 2, autoriteit 23%

Als u het sluiten van het venster gewoon uitstellenwilt zonder echt op een knop te hoeven drukken (getchar()-methode), kunt u eenvoudig de sleep()methode; het duurt het aantal secondendat je wilt slapen als argument.

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

Referenties:
sleep()-handleiding


Antwoord 3, autoriteit 10%

Is het een consoleprogramma dat in Windows draait? Als dat het geval is, voer het dan uit vanaf een console die u al hebt geopend. d.w.z. voer “cmd” uit, ga dan naar uw map met de .exe erin (met behulp van de cd-opdracht) en typ vervolgens de exe-naam. Je consolevenster blijft open.


Antwoord 4, autoriteit 8%

Onder POSIX-systemen lijkt de beste oplossing het volgende te gebruiken:

#include <unistd.h>
pause ();

Als het proces een signaal ontvangt waarvan het effect is dat het wordt beëindigd (meestal door Ctrl+Cin de terminal te typen), pausezal niet terugkeren en het proces zal effectief worden beëindigd door dit signaal. Een meer geavanceerd gebruik is om een signaalopvangfunctie te gebruiken, aangeroepen wanneer het corresponderende signaal wordt ontvangen, waarna pauseterugkeert en het proces hervat.

Opmerking: het gebruik van getchar()zal niet werken als de standaardinvoer wordt omgeleid; vandaar deze meer algemene oplossing.


Antwoord 5, autoriteit 4%

Als u een consolevensterprogramma maakt, kunt u system(“pause”);

. gebruiken


Antwoord 6, autoriteit 4%

getch()kan ook worden gebruikt, wat is gedefinieerd in conio.h.

Het voorbeeldprogramma ziet er als volgt uit:

#include <stdio.h>
#include <conio.h>
int main()
{
    //your code 
    getch();
    return 0; 
} 

getch()wacht op elke tekeninvoer vanaf het toetsenbord (niet noodzakelijk de enter-toets).


Antwoord 7, autoriteit 4%

U kunt ook gewoon system("pause");

. gebruiken


Antwoord 8, autoriteit 2%

Ik neem aan dat je Windows gebruikt. In plaats van te proberen uw programma uit te voeren door te dubbelklikken op het pictogram of op een knop in uw IDE te klikken, opent u een opdrachtprompt, cd naar de map waarin uw programma zich bevindt en voert u het uit door de naam op de opdrachtregel te typen.


Antwoord 9, autoriteit 2%

Goed gedaan, ik herinnerde me over DOS Batch-bestanden.
Heb Getchar() helemaal niet nodig.
Schrijf gewoon het batchbestand om de map (cd) te wijzigen naar de map waar het programma zich bevindt.
typ de naam van het exe-programma en typ pauze in de volgende regel.
voorbeeld:

cd\

wallpaper_calculator.exe
Pauzeren


10, Autoriteit 2%

Ik ben niet de beste in C en ik ben een beetje nieuw; Maar hier is wat ik zou doen.

Als u op een willekeurige toets wilt drukken om het programma door te gaan / beëindigen. Ik zou een void-functie pauze maken ().

#include <stdlib.h>
 #include <stdio.h>
    void pause() {
        system("pause>nul");
        return;
    }
    int main() {
        //your code here
        pause(); // you pause here
    }

Voor tijdsvertragingen tussen code, kunt u slaap (), slaap (1) = 1-seconden vertraging gebruiken, enzovoort.

Other episodes