Application/MFC

[MFC] 난수 생성하기(랜덤 값 생성)

devsalix 2023. 3. 8. 16:44
728x90

랜덤 한 값을 생성하고 싶을 때

 

srand 함수를 이용해서 난수표를 만든 후 값을 가져옵니다

 

srand((unsigned int)time(NULL));
int iRand = rand() % 1000;

 

위와 같이 작성할 경우 1000 미만의 난수를 발생시킬 수 있습니다

 

하지만 쓰레드 같이 거의 동시에 난수를 발생할 경우 같은 값을 가지는 경우가 생깁니다

 

이를 회피하고자

 

현재 시간의 millisecond 단위를 활용해 프로그램을 구동시키면

 

다른 난수값을 가져올 수 있는 것을 확인할 수 있습니다

 

SYSTEMTIME st;
GetLocalTime(&st);
srand((unsigned int)st.wMilliseconds);
int iRand = rand() % 1000;

 

위와 같이 작성하면 됩니다


제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

 

 
728x90
반응형