IT/C

[C] 시간차이 구하기 ( millisecond 까지.. )

돼민이 2017. 7. 16. 07:43
반응형

시간차 구하기


gettimeofday 함수를 활용하여 시간차이를 구하는 방법을 살펴 보겠다. 

참고로 해당 함수는 windows에서 동작하지 않고 unix, linux 환경에서 동작한다.



포인터의 자료형


아래와 같이 해더를 추가한다.


#include <time.h>


위의 해더에는 아래와 같은 구조체가 존재하며 해당 구조체는 gettimeofday 호출시 필요하다.

  struct timeval {

        time_t          tv_sec;         /* seconds */

        suseconds_t     tv_usec;        /* and microseconds */

  };


이제 전체 시간 구하는 전체 예제를 확인해 보겠다.



#include <stdio.h>

#include <time.h>


int main()

{

struct timeval startTime, endTime, gepTime;


gettimeofday( &startTime, NULL );


sleep(1);


gettimeofday( &endTime, NULL );


gepTime.tv_sec = endTime.tv_sec - startTime.tv_sec;

gepTime.tv_usec = endTime.tv_usec - startTime.tv_usec;

if ( gepTime.tv_usec < 0 )

{

gepTime.tv_sec = gepTime.tv_sec - 1;

gepTime.tv_usec = gepTime.tv_usec + 1000000;

}


printf("ellapsed time [%02d.%02d] second\n", gepTime.tv_sec, gepTime.tv_usec);

}



반응형