- Apple iPhone 16 Pro - rutinvizsga
- Sony Xperia 1 V - kizárólag igényeseknek
- Yettel topik
- Xiaomi 15T Pro - a téma nincs lezárva
- Jolla és SailfishOS tapasztalatcsere
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Honor Magic6 Pro - kör közepén számok
- MIUI / HyperOS topik
- iPhone topik
- Apple iPhone 13 mini - miért nem veszik elegen?
-
Mobilarena

Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
emitter
#1323
üzenetére
azt mondtad h szedjem ki a temp_failure-t, hát kiszedtem, de így meg a select ha jól látom, nem is hívódik meg sehol
Persze, mert azt is kiszedted
Talán azt hagyd benne, a return-nel egyetemben.
return select (FD_SETSIZE, &set, NULL, NULL, &timeout));
Már most nem tudom hogyan magyarázzam, ha az elõzõt nem értetted.
Na még egy próba.
Nézzük onnan, hogy mit szeretnél:
1. Ha a felhasználó megnyom egy gombot, akkor arra reagálni akarsz.
2. Másodpercenként kiírni az idõt.
3. Közben nem terhelni a processzort.
A 3. pont miatt meg kell mondani az operációs rendszernek, hogy az 1. és 2. események bekövetkeztekor fusson a progi. Ezt például a select függvénnyel lehet, ami azt tudja, hogy figyel tetszõleges számú fájlleírót megadott ideig. Billentyûleütés akkor van, ha a stdin fájlból van mit olvasni. Ezt szépen meg lehet adni a select-nek. Sajnos azt viszont nem tudja, hogy másodpercenként térjen vissza akkor is ha nincs billentyûleütés, csak várakozási idõt lehet neki megadni. Ezért a 2. pontot kicsit át kell fogalmazni, mégpedig úgy, hogy nem azt mondod, hogy másodpercenként, hanem azt, hogy a következõ másodpercig. Ezt pedig úgy csinálod, hogy minden frissítésnél illetve a select meghívása elõtt lekéred az idõt (a gettimeofday függvénnyel, mert kell a pontosság!) és a timeout értéket ebbõl számolod, értelemszerûen: timeout = elõzõ frissítés + 1mp - aktuális idõ.
A select visszatérési értéke elárulja, hogy az 1. vagy a 2. feltétel következett-e be, vagyis a felhasználó megnyomott egy gombot (ekkor getch() és eseménykezelés) vagy pedig a várakozási idõ járt le (ekkor idõ frissítése kell.).
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- OLED TV topic
- Tavasszal végleg leállnak a Call of Duty Warzone Mobile szerverei
- E-roller topik
- Beleremegett Hollywood Brad Pitt és Tom Cruise AI harcába
- OLED monitor topic
- LG LCD és LED TV-k
- Apple iPhone 16 Pro - rutinvizsga
- Szombathely és környéke adok-veszek-beszélgetek
- PC-k milliói kerülhetnek veszélybe idén
- Elektromos autók - motorok
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- Lenovo 40AH és 40A1 dokkoló, töltő is.
- 200db SZETT! REFURBISHED - DELL Docking Station WD19S + 130W töltő
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- 160 - 177 - 178 - Lenovo LOQ (15IRX9) - Intel Core i7-13650HX, RTX 4060 (ELKELT)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

Talán azt hagyd benne, a return-nel egyetemben.

