_/Velog

C언어 sleep 함수 Mac에서 사용하는 법

선달 2023. 12. 22. 16:21
반응형

window 가 좋았다... mac.. 싫어..

 

sleep() 함수란?

: 시간을 지연시켜주는 함수, 괄호안에 들어가있는 수만큼의 시간을 대기한다.


window 에서는

  1. 헤더파일 추가하고
#include <windows.h>
  1. Sleep() 함수 사용
  • 대문자 주의
  • 이때 단위는 마이크로초(ms)
  • 1000ms = 1s
    Sleep(2000); //2초대기

Mac, 리눅스 에서는

  1. 헤더파일부터 범상치 않음
  2. #include <unistd.h>
  3. sleep() 함수 사용
  • 소문자 주의
  • 단위는 초(s)
    • 소수(0.5) 이런거 쓰면 인식 못함
      sleep(2); //2초 대기



콘솔에서 ㅁ이 위아래로 움직에게 해주는 코드를 미션으로 받아서 이렇게 했다..
1초에 한번씩 움직여서.. 느려터지긴 했지만.. 속도에 대한 얘기는 없었으니까 ㅎ..

#include <stdio.h>
#include <ncurses.h>
#include <locale.h>
#include <unistd.h>

void GotoXY(int x, int y)
{
    move(y,x);
}

int main(void)
{
    setlocale(LC_ALL, "");
    initscr();

    while(1)
    {
        for(int i=1; i<10; i++){
            GotoXY(40, i-1);
            printw(" ");
            GotoXY(40, i);
            printw("ㅁ");
            sleep(1);
            refresh();
        }
        for(int i=9; i>0; i--){
            GotoXY(40,i+1);
            printw(" ");
            GotoXY(40, i);
            printw("ㅁ");
            sleep(1);
            refresh();
        }
    }

    endwin();
}
반응형