Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [C] functie om te pauzeren, hoe werkt dit ?  (gelezen 1530 keer)

Offline Joshua822

  • Lid
[C] functie om te pauzeren, hoe werkt dit ?
« Gepost op: 2009/12/25, 16:09:06 »
Hallo allemaal.

Kan iemand mij vertellen wat in deze functie :
void mypause ( void )
{
  printf ( "Press [Enter] to continue . . ." );
  fflush ( stdout );
  getchar();
}

de instructie fflush ( stdout ), ik weet wel de betekenis van de fflush ( ) functie op te zoeken, maar waarom doet men dit met stdout ( ) ?

Bron : cprogramming.com

Alvast bedankt !

Re: [C] functie om te pauzeren, hoe werkt dit ?
« Reactie #1 Gepost op: 2009/12/25, 18:22:28 »
Om de tekst op stdout zichtbaar te maken?
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline Joshua822

  • Lid
Re: [C] functie om te pauzeren, hoe werkt dit ?
« Reactie #2 Gepost op: 2009/12/26, 00:20:08 »
Citaat
Om de tekst op stdout zichtbaar te maken?

Ik denk het niet. Als ik een programma met die functie compileer en uitvoer, krijg ik helemaal niets te zien, behalve wat ik expliciet uitprint. Of begrijp ik het verkeerd ?

Zijn er nog andere uitleggen ? Ik hoor ze graag, dank je alvast.

Re: [C] functie om te pauzeren, hoe werkt dit ?
« Reactie #3 Gepost op: 2009/12/26, 09:33:45 »
Doe de fflush(stdout) weg en zie...
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline Joshua822

  • Lid
Re: [C] functie om te pauzeren, hoe werkt dit ?
« Reactie #4 Gepost op: 2009/12/26, 12:35:05 »
Er is echt geen verschil te zien, ter illustratie, is deze screenshot :



Bij de eerste uitvoer is de instructie "fflush ( stdout )" aanwezig en bij de tweede niet.
 

I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline BailHope

  • Lid
    • Techneut
Re: [C] functie om te pauzeren, hoe werkt dit ?
« Reactie #6 Gepost op: 2009/12/27, 22:48:16 »
Volgens mij wordt deze fflush gedaan gewoon om te zorgen dat er niet per ongeluk nog een teken op de terminal staat. Ik herinner me nog uit mijn C-tijd, dat je soms door een vraag werd geloodst voor je kon antwoorden, omdat er nog een [Enter]-teken op de terminal stond.

Door fflush te doen zijn alle tekens die mogelijk nog zijn ingegeven volledig weg, volgens mij.

Die getchar() wacht dan gewoon de hele tijd tot er iets wordt ingegeven in de terminal, waardoor het programma effectief 'wacht' tot er iets gebeurd.
Ubuntu user #12046
Mijn blog voor techneuten: http://techneut.wordpress.com
Voor de professionele IT'er: http://it-potato.blogspot.com

Offline djurny

  • Lid
Re: [C] functie om te pauzeren, hoe werkt dit ?
« Reactie #7 Gepost op: 2009/12/27, 23:37:26 »
edit: oopsy.. heb niets gezegd :)
echo "Ka Me Ha Me Ha Me Ha!" | tr [A-Z] [a-z]