Ați dorit vreodată să faceți ca un program C să aștepte un anumit timp?
Puteți configura o tehnică pentru a permite timpului să se bifeze, de exemplu: atunci când afișați o pagină de start (o notă sau un indiciu) pentru un joc.
Bine, iată câteva modalități de a face programul să se oprească, citiți mai departe …
Pași
Pasul 1. Faceți procesorul să funcționeze pentru o perioadă de timp fără a produce niciun eveniment vizibil
Pasul 2. Nu faceți nicio altă operațiune în timpul acestei întârzieri, pentru a crea o întârziere simplă
Metoda 1 din 2: Tehnica „pentru buclă”
Pasul 1. Folosiți o buclă tipică „pentru” urmată de o instrucțiune nulă pentru a implementa întârzierea
Pasul 2. Scrieți după cum urmează, pentru un exemplu:
- pentru (i = 1; i <100; i ++);
- Afirmația urmată de „;” face ca computerul să execute bucla de 100 de ori fără niciun eveniment vizibil. Creează doar o întârziere.
Metoda 2 din 2: Tehnica "somn ()"
Pasul 1. Folosiți sleep () Funcția numită sleep (int ms) declarată în care face programul să aștepte timpul în milisecunde specificat
Pasul 2. Includeți următoarea linie în program înainte de „int main ()”:
#include
Pasul 3. Introduceți, oriunde aveți nevoie de programul dvs. pentru a întârzia:
- somn (1000);
- Schimbați „1000” la numărul de milisecunde pe care doriți să îl așteptați (de exemplu, dacă doriți să faceți o întârziere de 2 secunde, înlocuiți-l cu „2000”.
- Sfat: pe unele sisteme valoarea se poate referi la secunde, în loc de milisecunde. Deci, uneori, 1000 nu reprezintă o secundă, ci, de fapt, 1000 de secunde.
sfaturi
- Logica de mai sus poate fi implementată utilizând orice structură de looping urmată de o declarație nulă ";", cum ar fi folosind buclele while sau do-while.
- O milisecundă este 1/1000 de secundă.
Avertizări
- Această tehnică este în general inutilă în orice altceva decât un program banal. În general, utilizați temporizatoare sau o abordare bazată pe evenimente pentru a implementa acest lucru. În caz contrar, programul nu va mai răspunde în timpul întârzierii și acest lucru nu este întotdeauna un lucru bun. În plus, alegerea lui N în bucla dvs., dacă depinde de execuția instrucțiunilor, poate avea rezultate surprinzătoare. Se pare că autorul original nu a auzit niciodată de un compilator de optimizare … poate optimiza întreaga buclă dacă de fapt nu face nimic!
- Dacă utilizați bucla for, compilatorul poate optimiza codul și, deoarece bucla nu face nimic, îl eliminați. Acest lucru nu se întâmplă când se utilizează delay ().
- Rețineți că atunci când utilizați tehnica pentru buclă, este posibil să aveți nevoie de un interval foarte mare pentru i, deoarece o instrucțiune goală este executată foarte repede. Este posibil ca astfel de numere mari să nu se încadreze într-un tip întreg.