본문 바로가기

C언어프로그래밍

Visual studio 2015 scanf warning 처리 방법에 대하여

반응형


Visual Studio의 scanf 문제


Visual studio 2015를 사용할 때,

(2013 버전도 마찬가지지만,)

다음과 같은 프로그램을 빌드한다고 하자.

scanf 함수를 이용해서 

숫자를 입력받고,

출력하는 프로그램이다.

그런데,

...

...

빌드하면 다음과 같은

warning메시지가 뜬다.



문자 그대로 해석을 하면


경고 C4996: 'scanf': 이 함수 또는 변수는 사용하면 위험할 수 있습니다. 

이것 대신에 scanf_s 함수를 사용하기를 바랍니다. 

이 경고 메시지를 끄시려면, _CRT_SECURE_NO_WARNINGS를 사용하고,

이에 대한 자세한 설명은 도움말을 찾아보세요.


아시겠지요..

scanf는 해킹의 우려 때문에 위험할 수도 있습니다.

그래서,

두 가지 해결책을 제시하고 있지요.

첫 번째는 scanf 대신에 scanf_s를 쓰면 되는 것이고,

이것이 싫다면,

프로그램 시작부분에 아래를 쓰면 된다.

#define  _CRT_SECURE_NO_WARNINGS 


이렇게 말이다.

이러면 더 이상 경고메시지가 나오지 않는다.

그런데요, 

제 프로그램 scanf썼는데 해킹당하면 어떻게 해요?


해커들도 프로그램 가려서 한다.

갸들도 보는 눈이 있단다.


반응형