error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.VS 2013 Scanf error_CRT_SECURE_NO_WARNINGS error오류 C4996 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.scanf_s
다음과 같은 에러가 날때 해결하는 방법이다.
비주얼 스튜디오 2013 버전 이상부터는 scanf를 사용할 때 다음과 같은 에러가 뜹니다.
해석하면 scanf 함수를 이용하면 취약하기 때문에 scanf_s를 쓰거나 _CRT_SECURE_NO_WARNINGS를 사용하라고 권고합니다. scanf의 사용은 오버플로우 취약점때문에 막았다고 합니다. 보안적인 프로그램을 만들때는 scanf_s를 쓰는것을 권장합니다.
하지만 간단한 프로젝트에서는 scanf_s를 매번쓰기 귀찮으니 _CRT_SECURE_NO_WARNINGS를 사용하는법을 알려드리겠습니다.
솔류션 탐색기 -> 프로젝트 명 우클릭 -> 속성으로 들어갑니다.
다음과 같은 화면이 뜹니다.
C/C++에 있는 전처리기로 들어갑니다.
다음과 같이 세미콜론 뒤에 _CRT_SECURE_NO_WARNINGS를 추가하고 세미콜론을 붙여줍니다. 그리고 컴파일 하면 에러가 없어집니다.
이외에 방법은 pragram를 사용하는 방법입니다.
#pragma warning(disable: 4996)
다음 코드를 소스코드 맨 상단에 붙여주면 더이상 에러가 뜨지 않습니다.
'ETC > 에러 모음' 카테고리의 다른 글
Cannot find module 'sass' 해결법 (1) | 2021.09.14 |
---|---|
UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position : illegal multibyte sequence (0) | 2020.12.16 |
[django] 403 forbidden Error 해결하기(CSRF token) (2) | 2020.12.13 |
Pyautogui 클릭이 안될때 (0) | 2020.11.22 |
No module named 'pkg_resources.py2_warn' 에러 해결 (0) | 2020.11.16 |