Azonban nekünk most determinisztikus működésre van szükségünk a CPU altatása miatt, ezért a buffer feltöltése után rögtön rá is kényszerítjük a programot a buffer kiürítésére, ezért felel az fflush() függvényt. Ezáltal az eredmény rögtön láthatóvá válik a képernyőn. Erőforrás kezelés Jelen példában a legnagyobb szám amire szükségünk van, az nem más mint az 59, a legkisebb pedig a 0, tehát nincs szükségünk negatív számokra. Az 59 egy elég kicsi szám, egészen pontosan 6 biten elfér. Hogyan távolíthatom el az órát az Android lezárási képernyőjén?. Annak érdekében, hogy a lehető legkevesebb memória felhasználásával meg tudjuk oldani a feladatot érdemes a legkisebb típusban ábrázolni a számokat, ami képes kezelni 6 bitet összefüggően. Ez nem lesz más, mint a 8 bites unsigned char típus. Ennek kezelésére szintén létrehozok egy különálló Header fájlt, aminek tartalma tehát a következő: A typedef egy önálló C parancs, amely arra szolgál, hogy új típusdefiníciókat tudjunk egyszerűen létrehozni. Az uint8_t a klasszikus elnevezése ennek a típusnak. A program végrehajtásának az eredménye: Jól látható tehát, hogy a központi algoritmus viszonylag egyszerű.
Fontos tudni, hogy a programból van telepítés nélkül használható, hordozható változat is, de mind a telepítős, mind a portable verzió használatához szükségünk lesz a Microsoft Frameworkre, illetve a működéshez rendszergazdaként kell futtatnunk a programot (Futtatás rendszergazdaként menüpont a Windowsban).
Óra algoritmus Hogyan működik egészen pontosan egy digitális óra? Először is van 3 része: másodperc [0.. 59] perc [0.. 59] óra [0.. 23] A feladatnak megfelelően mindegyiket 0-ra állítjuk, mint kiindulási érték. A másodperc mutatót másodpercenként növeljük és ha elérte a 60-at, akkor 0-ra állítjuk és növelünk a perc részen egyet. Majd ha a perc is elérte a 60-at akkor az órán is növelünk egyet. 23:59:59-nél pedig visszaállítunk mindent 0-ba és az egész kezdődik elölről. Egyetlen kérdés van, hogyan fogjuk pontosan másodpercenként egyszer megnövelni a másodperc mutatót? Hogyan mérjük az eltelt időt? Nos a legegyszerűbb megoldás, ha indítunk egy ciklust, ami számol körülbelül 1 másodpercig, majd végrehajtjuk a saját kódunkat, aztán megint a ciklusban vagyunk 1 másodpercig. Ezzel a megoldással két probléma van: Nem lesz elég pontos Folyamatosan foglalja a CPU-t, pedig az csak az idő tört részében fog hasznos munkát végezni, egyébként egy ciklusban teker Szerencsére már más is gondolt hasonló időmérésre, ezért kidolgoztak egy úgynevezett altató könyvtárat.