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