system ("PAUSE")

  • Onderwerp starter Onderwerp starter ceke
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ceke

Gebruiker
Lid geworden
9 mrt 2007
Berichten
86
hoi, normaalgezien kan je ervoor zorgen dat je programa niet automatisch afsluit door de functie getch:D Nu heb ik een filmpje op youtube gezien waarin iemand system ("PAUSE") gebruikt in plaats van getch. Kan dit:confused:

alvast bedankt,:thumb:

ceke
 
je kan op veel manieren je programma even laten wachten.

de (naar de gebruik toe) mooiste manier is door op invoer te wachten (een toetsaanslag)
Dit kan je oa dmv van getch(), maar bvb ook door cin.getline() of cin.get().

system("PAUSE"); is iets anders. Dit is een call naar een shell-functie, hier PAUSE.
Wat je als string aan system meegeeft wordt als commando in je shell uitgevoerd. Een ander veelgebruikt commando is bvb system("CLS") wat, onder windows, het scherm wist. Onder *nix is dat system("clear").

--Johan
 
je kan op veel manieren je programma even laten wachten.

de (naar de gebruik toe) mooiste manier is door op invoer te wachten (een toetsaanslag)
Dit kan je oa dmv van getch(), maar bvb ook door cin.getline() of cin.get().

system("PAUSE"); is iets anders. Dit is een call naar een shell-functie, hier PAUSE.
Wat je als string aan system meegeeft wordt als commando in je shell uitgevoerd. Een ander veelgebruikt commando is bvb system("CLS") wat, onder windows, het scherm wist. Onder *nix is dat system("clear").

--Johan

Bedankt voor de snelle reactie:D
Maar welke functie gebruik ik dan het best?
 
hangt af van je smaak.. persoonlijk zou ik system("PAUSE") zelf niet gebruiken:
1. je code compileert niet meer op alle OS'es
2. je krijgt die stomme msg "Druk op een toets om door te gaan..." terwijl ik eigenlijk wacht om af te sluiten :p

getch() komt nog uit C en vangt 1 karakter op dacht ik.
cin.get() is de C++ equivalent daarvoor.

en cin.getline() maakt meteen je buffer leeg, meestal gebruik ik dit:
Code:
if (cin.peek()) //als er nog tekens in de invoerbuffer zitten
    string rest;
    getline(cin, rest); //haal de buffer leeg
}
cout << "Druk op een toets om af te sluiten... ";
cin.get();

--Johan
 
Als je system("pause") wilt gebruiken kun je misschien beter system("pause > 0") gebruiken, dan staat Druk op een toets om verder te gaan . . . er niet.:D
 
hangt af van je smaak.. persoonlijk zou ik system("PAUSE") zelf niet gebruiken:
1. je code compileert niet meer op alle OS'es
2. je krijgt die stomme msg "Druk op een toets om door te gaan..." terwijl ik eigenlijk wacht om af te sluiten :p

getch() komt nog uit C en vangt 1 karakter op dacht ik.
cin.get() is de C++ equivalent daarvoor.

en cin.getline() maakt meteen je buffer leeg, meestal gebruik ik dit:
Code:
if (cin.peek()) //als er nog tekens in de invoerbuffer zitten
    string rest;
    getline(cin, rest); //haal de buffer leeg
}
cout << "Druk op een toets om af te sluiten... ";
cin.get();

--Johan

Oke bedankt Johan:thumb:
 
hangt af van je smaak.. persoonlijk zou ik system("PAUSE") zelf niet gebruiken:
1. je code compileert niet meer op alle OS'es
2. je krijgt die stomme msg "Druk op een toets om door te gaan..." terwijl ik eigenlijk wacht om af te sluiten :p

getch() komt nog uit C en vangt 1 karakter op dacht ik.
cin.get() is de C++ equivalent daarvoor.

en cin.getline() maakt meteen je buffer leeg, meestal gebruik ik dit:
Code:
if (cin.peek()) //als er nog tekens in de invoerbuffer zitten
    string rest;
    getline(cin, rest); //haal de buffer leeg
}
cout << "Druk op een toets om af te sluiten... ";
cin.get();

--Johan

Druk op een toets om door te gaan... kun je weghalen met:
Code:
          system("pause > 0123");
          std::remove("0123");
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan