티스토리 뷰

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

'DEV > C 언어' 카테고리의 다른 글

함수(Function)  (0) 2015.12.28
변수 및 연산자  (0) 2015.12.24
What is C-Language  (0) 2015.12.24
콘솔 색깔(console color)  (0) 2015.12.24
아스키코드(ASCII CODE)  (0) 2015.12.24
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함