[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