Programming/C | C++

[C] 비주얼스튜디오2013 scanf 오류 해결법

꾸준희 2015. 11. 2. 19:29
728x90
반응형

평소와 다를 것 없이 비주얼 스튜디오 2013에서 scanf 를 쓰려고 하면


Error 1 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. c:\users\kgu\documents\visual studio 2013\projects\project3\project3\statistic.cpp 10 1 Project3


라는 오류가 나면서 컴파일이 되지 않는다. 그렇기 때문에 비주얼 스튜디오 2013 버전에서는 그동안 써왔던 scanf를 scanf_s로 바꿔주어야한다.


최근 몇 년 동안 보안 문제 때문에(버퍼 오버플로우를 이용한 공격을 방어하기 위한..)  scanf_s가 나오게 되었다고 한다.


버퍼 오버플로우 공격 관련 글 참조

http://eehoeskrap.tistory.com/9


scanf와 scanf_s의 차이로는 character와 character pointer를 입력받는 경우 버퍼의 크기를 하나 더 적어줘야한다는 것 뿐 은 기억하기 귀찮으니까


그냥


#pragma warning(disable:4996) 


코드 상단에 써주어 scanf 를 그대로 사용하자 ㅋㅋㅋㅋ 그럼 이제 오류가 안뜨고 잘~실행됨



이런식으로.. 







728x90
반응형