![]() |
En este breve, pero útil artículo veremos cómo crear una función delay() para generar retardos en C++ |
En algunos IDE propietarios existen funciones que permiten generar retardos de n segundos. Pero no hay uno que forme parte del estándar. Para ello veremos cómo armar una función denominada delay() a la cual enviando un parámetro n genera un retarde de n segundos. Por ejemplo:
| Ejemplo de uso | |
1 2 3 4 5 6 7 |
//retardo variable int retardo = 10; delay(retardo); //Retardo estático delay(10); |
Y ahora los detalles de implementación:
| Implementación delay() | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include<iostream> #include<time.h> using namespace std; void delay (int secs) { for (int i = (time(NULL)+secs); time(NULL) != i; time(NULL)) {} } int main () { int retardo; cout<<"Segundos = "; cin>>retardo; delay(retardo); cout<<"Listo!"; return 0; } |
Donde:
- time(NULL) devuelve el segundo actual del sistema.
- Sumando una constante entera, da un número de segundos en el futuro.
- En cada iteración se comprueba si esa fecha futura es igual a la fecha actual en el sistema. Cuando se cumple esa condición, entonces se sale del ciclo y el programa continúa.
Licencia
. Ver información de licencia & cómo copiar material de esta web aquí. - Autor: Cristian1604
.

