Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: OpenGL ja pääte yhteistyöhön

Tumpelo [28.11.2006 17:58:34]

#

Eli, koodailen tässä Linuxilla sovellusta jossa on SDL/OpenGL-yhdistelmällä luotu ikkuna, joka on grafiikan näyttämistä varten, mutta itse ohjelman ohjailu tapahtuu pääasiassa päätteen kautta. Nyt kuitenkin käy niin että pääte ikäänkuin jumittuu ohjelman suorituksen ajaksi, eli sen aikana ei voi lukea mitään, ja jos printf()-funktiolla kirjoittaa niin teksti ilmestyy vasta varsinaisen SDL/OpenGL ikkunan sulkemisen jälkeen. Millaiset lääkkeet tähän löytyisi?

Metabolix [28.11.2006 18:39:17]

#

Minulla kyllä toimii sekä kirjoitus että luku aivan hyvin. SDL siinä jumittuu, kun konsolissa odotetaan syötettä.

Tumpelo [28.11.2006 19:44:57]

#

Hmm, coutin kanssa toimii jos loppuun laittaa endl mutta muuten ei toimi senkään kanssa. Pitänee luopua tuon päätteen käytöstä syöttämiseen kun se muutenkin on vähän hankala.

pukki [29.11.2006 15:17:49]

#

Ongelma on selkeästi se, että päätteen I/O on puskuroitu.
endl pakottaa puskurin tyhjennyksen, siksi tuo toiminee coutin kanssa.

Jos haluat printf()-kutsun kanssa saman vaikutuksen, niin fflush()-funktio auttaa.

Argumenttina fflush() haluaa osoittimen tiedostokahvaan (FILE *) tahi NULL-osoittimen, jolloin kaikki avoinna olevat output-virrat tyhjennetään.
Siispä fflush(stdout) on se mitä haetaan.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta