비주얼스튜디오 2013버전부터는 scanf를 사용 할 수 없게 막아놨다. 이유는 안전상의 문제라고 한다. 오버플루 발생 가능성때문에 안전하게 scanf_s를 사용하라고 하는데 반드시 써야할 때가 많다. 

특히 알고리즘 문제를 풀다보면 너무도 필요한 것이고, sprintf의 경우 다양한 목적으로 사용이 가능한데 spirntf_s와는 다른 결과를 내기 때문에 더더욱 필요로 한 것이다. (경험상 숫자를 문자열로 저장시킬때 사용했는데 값이 달랐다. 아니 작동하지 않았다.)

그래서 이를 다시 허가해주도록 설정하는 법을 적도록 하겠다.
(사실 내가 여기저기서 하다보니 자꾸 까먹고 검색하는게 귀찮았다.)


1. 프로젝트의 속성으로 간다. 


2. 구성속성 -> C/C++ -> preprocessor(전처리기) 로간다.

3. 다음 문장을 맨위 preprocessor Definitions(전처리기 정의)에 추가한다. 뒤에 세미콜론을 꼭 붙인다. 프로그래머에게 세미콜론은 언제나 함께하는것이다.
    _CRT_SECURE_NO_WARNINGS;

4. 확인을 누르고 실행해본다. 정상작동함을 알 수 있다.


코드상에 추가하는 방법도 있다. 

#define  _CRT_SECURE_NO_WARNINGS

그러나 나는 알고리즘 문제를 풀 뿐이니 그냥 속성을 바꾸는게 맘 편할거 같다.

+ Recent posts