Miten saisin viivettä C :lla käskyjen väliin? Onko jotain helppoa tapaa?
Viivettä C++:lla
Argh
9599
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 9
Vanhimmat
sleep(n), n=tauko millisekunteina eli 1000=1 sekunti.
Kiitti, mutta minkä include-tiedoston se vaatii, kun ei tuntunut ainakaan toimivan sellaisenaan?
tai sitten ennemmin delay(int n),missä n odotettava aika ms. tuo löytyy dos.h kirjastosta.
muisteekseni sleep(n),n=tauko sekunteina.
sleep(1000) = n. 16min
..vaan Sleep(n) -käskyssä n on aika millisekunteina. #include niin toimii.
vintoosan puolella saattaa olla,en tiedä. mutta jos lähdetään dosssin puolelle niin sleep(n)-käskyssä n on aika sekunteina. (Sleep(n) ja sleep(n) ei taida olla sama käsky)
sleep ja delay käskyt eivät koskaan ole kovinkaan suositeltavia tapoja.. aina kannattaa pyrkiä välttämään niitä ja toteuttaa kyseisen koodin odotuksen tarve esim. luuppirakenteilla ja muuttujien pyörityksella.. mutta jos tuntuu mahdottomalta ongelmalta ja tahdot esim. 2sekuntia muuttujien väliin niin delay on huomattavasti suositeltavampi tapa!
Se on totta, että näillä valmiilla funktiolla ei pysty ratkaisemaan ongelmaa, jos haluttu tauko on pienempi kuin sadasosasekunti (about, riippuu tietysti raudasta). Tämä sen vuoksi, että itse funktion suoritus vie pidemmän ajan kuin tuo haluttu tauko. Eli sleep(10) ja sleep(1) -komennot aiheuttavat yhtä pitkän tauon.
Silmukoissa on taas se huono puoli, että yleensä ohjelmia käännettäessä on optimoinnit päällä, koska halutaan tehokasta koodia. Ja tämä aiheuttaa sen, että noilla dummy-silmukoilla ei pystytä kontrolloimaan tauon pituutta. Ja myös se huono puoli, että nämä timerista riippumattomat hidasteet ovat täysin riippuvaisia koneen suorituskyvystä.
Kiitos monista kommenteista! Nyt kelpaa räknätä!