본문 바로가기

카테고리 없음

_CRT_SECURE_NO_WARNINGS 오류

Visual Studio 2017 깔아서 C언어 공부중인데요 printf만 사용할시 솔루션 빌드가 성공적으로 잘 되는데.. scanf만 사용하면 빌드가 계속 실패되는데 알려주세요... (핸드폰 카메라가 깨졌숩니다)


첨부 이미지


첨부 이미지










에러문구에는

"scanf문은 취약하니까 scanf_s를 쓰던가, _CRT_SECURE_NO_WARNINGS를 사용해라."

라는 뜻입니다.

scanf_s는 VS10버전부터 scanf가 구조적으로 안정적이지 않다면서 나왔죠. 간단히 말하면 overflow결함때문에 scanf가 버려진 것이고, _s 시리즈물(?)로 나왔습니다.

많은 문제를 가지고 있지는 않아서 지금 사용해도 문제가 없기는 합니다. 그래서 deprecated상태라고 볼 수 있죠.

그러니 scanf_s로 쓰거나 _CRT_SECURE_NO_WARNINGS를 추가하면 되는데, 제 노트북에는 VS가 안깔려있어서.. 구글링 하면 쉽게 나옵니다.