C언어를 공부하거나, C언어를 통해 개발을 하는 도중에 scanf 함수를 많이 사용할 것이다. 그런데 scanf 함수를 사용하게 되면 [보기 1-1] 처럼 오류가 발생하는 것을 확인해 본적이 있을 것이다.
오류메시지를 간략하게 해석해보면 scanf는 안전하지 않다라고 말하고 있으며, _CRT_SECURE_NO_WARNINGS 사용하라고 적혀있다. 이는 SDL 정책으로 인하여 발생한 것이다. scanf 함수가 위험한 함수는 아니지만 개발자들이 메모리를 다룰 때 부주의하게 다루거나 초보자들이 메모리를 잘못사용하여 버그가 되는 것을 막을려고 만든 것이 scanf_s 이다 숙련된 개발자라면 scanf함수를 사용하는 것이 더 좋다.
왜냐하면, scanf_s 를 사용하게 되면 내부적으로 더 많이 검사하므로 속도 저하가 일어날 수 있기 때문이다. 그렇다면 위에서 말한 것처럼 scanf함수를 사용한채로 사용하는 방법을 알아보았다. 1.
디버그(D) -> (프로젝트명)속성 클릭 2. C/C++ ->...
#
_CRT_SECURE_NO_WARNINGS
#
C언어
#
scanf
#
scanf_s
#
scanf오류
#
버퍼오버플로우