error C4996: 'scanf'

c 언어에서 빌드 중 아래와 같은 에러가 발생하는 경우

* 에러메세지
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.

간단히 정리하면 보안상 어쩌고 저쩌고 하닌 scanf보다 scanf_s를 사용하라고 한다.
c기초과정이라면 scanf 대신 scanf_s를 사용하여 아스키코드값 받으려고 하면 전부 0으로 나온다.
빌드 중 해당 에러를 무시하고 넘어갈 수 있지만 컴파일러에 따라 빌드가 더 이상 진행되지 않는 경우도 있는것 같다.
소스에서 헤더파일 정의 아래에 “#pragma warning(disable:4996)” 이거하나 넣어주면 scanf로
이상없이 빌드된다! 매번 소스에 입력하기 귀찮다면 stdio.h에 #pragma warning(disable:4996)

적어두면 매번 입력하지 않아도 된다.

Keep Reading

이전다음

error C4996: 'scanf'”의 6개의 생각

  1. 친구가 vs2013버전을 설치하고 이전의 소스가 컴파일 되지않아 이 문제를 해결해주는데 도움되었습니다. 감사합니다~

  2. 헤에.. 사랑합니다 ㅋㅋ 중간에 빌드 안하고 계속 몇백줄 썻다가 이거 딱 하나만 계속 안풀려서 빡쳤었는데 ㅋㅋ 감사합니다 !! 유용히 쓰겠습니다 !!

BUSARI에 답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다