Ville du någonsin få ett C -program att vänta en viss tid?
Du kan ställa in en teknik för att ge tid att ticka bort, till exempel: när du visar en stänk sida (ett meddelande eller tips) för ett spel.
Okej, här är några sätt att få programmet att "stå still", läs vidare …
Steg
Steg 1. Få din CPU att fungera en stund utan att skapa någon märkbar händelse
Steg 2. Gör ingen annan åtgärd under den fördröjningen, för att skapa en enkel tidsfördröjning
Metod 1 av 2: "For-loop" -tekniken
Steg 1. Använd en typisk "för" -slinga följt av en null -sats för att implementera tidsfördröjning
Steg 2. Skriv enligt följande, för ett exempel:
- för (i = 1; i <100; i ++);
- Uttalandet följt av ";" får datorn att köra slingan 100 gånger utan någon märkbar händelse. Det skapar bara en tidsfördröjning.
Metod 2 av 2: "Sleep ()" -tekniken
Steg 1. Använd sömn () Funktionen kallad sömn (int ms) som deklareras i vilket gör att programmet väntar på den angivna tiden i millisekunder
Steg 2. Inkludera följande rad i ditt program före "int main ()":
#omfatta
Steg 3. Infoga, var du än behöver ditt program för att göra en fördröjning:
- sömn (1000);
- Ändra "1000" till antalet millisekunder du vill vänta (till exempel om du vill göra en fördröjning på 2 sekunder, ersätt den med "2000".
- Tips: På vissa system kan värdet referera till sekunder istället för millisekunder. Så ibland är 1000 inte en sekund, men i själva verket 1000 sekunder.
Tips
- Ovanstående logik kan implementeras genom att använda valfri looping-struktur följt av en null-sats- ";", som genom att använda while eller do-while-slingor.
- En millisekund är 1/1000 sekund.
Varningar
- Denna teknik är i allmänhet värdelös i allt förutom ett trivialt program. Använd i allmänhet timers eller ett händelsebaserat tillvägagångssätt för att genomföra detta. Annars svarar programmet inte under fördröjningstiden, och det är inte alltid bra. Dessutom kan val av N i din loop, om det beror på instruktionens genomförande, ha överraskande resultat. Uppenbarligen har originalförfattaren aldrig hört talas om en optimerande kompilator … den kan optimera bort hela slingan om den faktiskt inte gör någonting!
- Om du använder for-loop kan kompilatorn optimera koden, och eftersom loop inte gör något tar du bort den. Detta händer inte när du använder fördröjning ().
- Observera att när du använder for-loop-tekniken kan du behöva en mycket stor span för i, eftersom ett tomt uttalande körs mycket snabbt. Sådana stora tal kanske inte passar i en heltalstyp.