Saltar al contenido
binarios.com.ar/blog/funcion-delay-en-c/

archivo / Programación

Función delay() en C++

17 de septiembre de 2012 188 palabras 1 imagen 1 min de lectura 1.285 visitas

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

//retardo variable
int retardo = 10;
delay(retardo);

//Retardo estático
delay(10);

Y ahora los detalles de implementación:

Implementación delay()

#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:

  1. time(NULL) devuelve el segundo actual del sistema.
  2. Sumando una constante entera, da un número de segundos en el futuro.
  3. 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.
binarios.com.ar · publicado el 17.09.2012
recuperado del archivo de Joomla en 2026
Texto e imágenes de Cristian Bottazzi bajo CC BY-NC-SA 4.0.
Código de barras Code128 que codifica binari-os