오랜만에 복습할겸 C언어를 다시 코딩해보고 있었는데
가장 기초중에 기초문법 중 하나인 scanf함수에서 에러를 띄우는 것이 아닌가...
여기저기 인터넷을 찾아본 결과,
2013버전으로 넘어오면서 scanf가 보안에 취약하다고하여 이런 에러를 띄운다고 합니다.
해결방법으로는 찾아본 결과 3가지 정도 나옴.
1번.
에러 문구 해석해보면, scanf함수 대신에 scanf_s함수를 사용하면 된다고 나와있는데,
실제로 scanf를 scanf_s로 바꾼 다음 컴파일해보면 에러없이 실행되는 것을 볼 수 있습니다.
_ 를 쓰기 귀찮으신 분들은 아래 방법을 참고
2번.
소스 코드 제일 위쪽에
#define _CRT_SECURE_NO_WARNINGS
를 입력해 사용하면 됩니다.
그런데, 이걸 매번 새로운 소스마다 치기 귀찮으신 분들은 전처리기를 활용하시면 됩니다.
프로젝트 -> 프로젝트 속성
프로젝트 속성에서 C/C++ -> 전처리기 -> 전처리기 정의를 편집
다음과 같이 추가로 적어주신 뒤 확인, 적용을 해주시면 됩니다.
p.s.
#pragma를 활용하는 방법이 있다고 해서 해보았지만, 적용되지 않아서 적진 않았습니다.
'에러' 카테고리의 다른 글
윈도우 MBR 의 문제가 생겨 부팅이 안되는경우 (0) | 2014.08.13 |
---|---|
[Android] 'Running Android Lint' has encountered a problem. Failed 에러 메시지 (0) | 2014.08.05 |