DEV/C 언어
#pragma warning(disable : 4996)
초록매실원액
2015. 12. 24. 16:07
* 경고 C4996은 권장되지 않는 함수 사용에 관한 경고입니다.
scanf는, MS가 지정한 잘못 쓰면 안전하지 않은 일이 발생할 수도 있는 함수들 중 하나입니다.
그러나, 문제에서처럼 %d %f 같은 고정폭 변수만을 받아오는 경우에는 문제가 안 됩니다.
진짜 문제는 %c, %s류 입력들입니다. 버퍼 오버플로우가 발생할 수 있는 배열 입력이니까요.
이런 입력들에 대해 버퍼 크기를 지정하기 위해 MS는 scanf_s를 쓰라고 권고합니다.
하지만, scanf_s는 C++ 표준 문법이 아니므로 저 에러를 잘라버립시다.
어떻게 하냐고요?
코드에서 모든 헤더를 #include 한 뒤 이렇게 적으면 됩니다.
#pragma warning( disable : 4996 )
혹은,
#define _CRT_SECURE_NO_WARNINGS