c언어/ C++ 에서 딜레이 함수 사용하기


프로그램을 진행하다보면 프로그램을 멈추어야할 떄가 존재합니다.


api를 사용하지 않고 아래와 같이 for문을 중첩사용하여 시간을 끄는 방식이 존재합니다.


int a=0;

for(int i=0; i < 10000; i++){ //1중첩 for문

for(int j=0; j < 10000; j++){ //2중첩 for문

a++; //무의미한 연산

}

}


하지만 위와 같은 방식은 원하는 시간만큼 정확하게 딜레이 시키기가 불가능 합니다.


그래서 C와 C++에서는 Sleep 함수를 사용합니다.


windows에 api 를이용하는 방식입니다.


#include <windows.h> 로 헤더파일을 추가해야합니다.


그리고 Sleep( ) 함수를 사용 합니다.


파라미터로 int 데이터를 사용하는데 ms단위입니다.


예를들어 Sleep(1000); 는 1000ms로 1초를 의미합니다.


프로그램을 사용하다보면 유용하게 쓸일이 많이 있습니다.


아래 예제를 참고바랍니다.



- 사용예제1 -


1
2
3
4
5
6
7
8
#include <stdio.h>
#include <windows.h>
 
int main() {    
    printf("시작\n");
    Sleep(1000); //1초정지
    printf("끝\n");
}
cs



- 사용예제2 -


1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <windows.h>
void main()
{
     int i=0;
     for(i=0; i<100; i++){
        printf("%d\n",i);
        Sleep(200);   //200ms 일시정지
     }
}
 
cs


- 사용예제3 -

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <windows.h>
 
void main() {    
    printf("1초 정지\n");
    Sleep(1000);
    printf("2초 정지\n");
    Sleep(2000);
    printf("3초 정지\n");
    Sleep(3000);
    printf("4초 정지\n");
    Sleep(4000);
    printf("5초 정지\n");
    Sleep(5000);
    printf("끝\n");
}
cs


Posted by 꿈만은공돌
,