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), pause
zal 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 pause
terugkeert 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.