728x90
300x250

[C++] Delay 함수 구현하기 - ctime, clock(), CLOCKS_PER_SEC

 

#include <iostream>
#include <ctime>        //clock() 함수와 clock_t형이 정의되어 있다.

int main()
{
        using namespace std;
        cout << "지연 시간을 초 단위로 입력하십시오: ";
        float secs;
        cin >> secs;
        clock_t delay = secs * CLOCKS_PER_SEC;
                 //지연 시간을 시스템 단위 클록 수로 변환
        cout << "카운트를 시작합니다.\a\n";
        clock_t start = clock();   //프로그램이 실행된 후 경과한 시간이 start에 대입된다
        while (clock() - start < delay) 
// 다시 호출된 clock() 함수의 리턴값에서 선행 clock() 함수의 값을 빼내 지금부터 시간의 경과를 사용자가 요구한 지연 시간, delay와 비교하여 그 값에 이르기까지 프로그램을 지연한다.
                ;   / 세미콜론을 잊지 말자.
        cout << "종료\a\n";
        return 0;
}

 

Windows.h를 이용한 sleep이라는 방법도 존재한데 이와 같이 구현하는 것도 관리 면에서 괜찮다고 볼 수 있다.
이유는 Windows.h의 불필요한 라이브러리를 불러오지 않기 때문이다. Windows.h와는 달리 ctime은 기본 라이브러리에 해당된다.

 


1. 참고자료(Reference)

 

1. http://dexion.tistory.com/24, Accessed by 2014-05-17

반응형

+ Recent posts