La Web del Programador: Comunidad de Programadores
 
    Pregunta:  24396 - COMO UTILIZAR LA FUNCION TIME.H EN TURBO C
Autor:  arianna martinez

quiero utilizar la funcion time.h o alguna otra funcion para programar un tiempo de ejecucion de alguna rutina especifica en el programa asi como programar un determinado tiempo de ejecucion de mi programa .
De antemano gracias.

  Respuesta:  Oliver Atom
la libreria time.h coniene varias funciones, una de las principales es :
time(); la cual informa el tiempo en segundos que han pasado desde las cero horas del primero de enero de 1970 hasta el dia actual, el diseño de la rutina es i=time(&t);
donde i es un dato de tipo time_t definido en la libreria.
la variable t almacena el dato informado por la funcion por ejemplo:

#include "stdio.h"
#include "dos.h"
#include "conio.h"
#include "time.h"

main()
{
time_t t,i;
i=time(&t);
printf("desde las 0 horas de enero de 1970 han pasado %ld segundos",i);
getch();
}

puedes utilizarla recogiendo el valor en la variable al inicio de tu programa y sumando el nuemro de segundos que pasan hasta que se termine tu programa.

otra funcion puede ser ctime( ) la cual convierte en cadena de caracteres la informacion devuelta por la fincion time( ), la funcion ctime devuelve un apuntador a una cadena de caracteres de 26 posiciones divididas asi:

0,1,2 el dia de la semana
3 espacio en blanco
4,5,6 el mes
7 espacio en blanco
8,9 el dia del mes
10, espacio en bblanco
11,12,12,12,12,16,17,18 la hora
19 espacio en blanco
20,21,22,23 el año

un ejemplo es

#include "stdio.h"
#include "dos.h"
#include "conio.h"
#include "time.h"

main()
{
time_t t,i;
char *p;
i=time(&t);
p=ctime(&i);
printf(" %s ",p);
getch();
}

otra funcion a utilizar es la diftime() la cual calcula la diferencia entre dos tiempos asi
d=diftime(t1,t2)
donde de es una variable de tipo double que almacena la diferencia entre dos tiempos t1 y t2 ambos de tipo time();

si quieres calcular solo el tiempo transcurrido delde el inicio el programa hasta que finaliza utiliza la funcion clock() que te devuelbe el tiempo en centesimas de segundo

la funcion es j=clock(); y j es de tipo clock_t que tambien se encuentra en el time.h.