알버트의 개발하는 블로그

C 언어 / C++ 언어 비쥬얼 스튜디오 scanf 오류 해결 방법 (_s 붙이기, _CRT 붙이기) 본문

프로그래밍 언어/C & C++

C 언어 / C++ 언어 비쥬얼 스튜디오 scanf 오류 해결 방법 (_s 붙이기, _CRT 붙이기)

알버트 2021. 4. 29. 13:53

 

비쥬얼 스튜디오가 2017버전으로 업데이트가 되면서 scanf를 그대로 갖다 쓰면 오류가 나오는 현상이 발생되었습니다.

 

입력을 받기 위해서 어떻게 이 현상을 해결할 수 있는지 알아보겠습니다.

 

대표사진 삭제

사진 설명을 입력하세요.

이 소스를 그대로 코딩해서 실행해주시면~!

 

대표사진 삭제

사진 설명을 입력하세요.

오류가 발생하는데요

 

대표사진 삭제

사진 설명을 입력하세요.

그 이유를 살펴보니...

밑에 오류 메세지를 자세히 보시면.. 영어로 나와있는데요.

대충 해석하자면 'scanf_s' 를 대신 사용하거나 '_CRT_SECURE_NO_WARNINGS' 를 쓰라고 나와있는 것을 알 수 있습니다.

 

 

첫번째 해결방법으로 scanf_s를 써보겠습니다.

대표사진 삭제

사진 설명을 입력하세요.

자 scanf 대신에 scanf_s를 쓰면 됩니다. 그러면 현상이 해결되고 프로그래밍이 자연스럽게 되는 것을 알 수 있습니다. 하지만 난 그래도 scanf를 쓰고 싶다!! 라면?

 

 

 

'프로젝트'의 속성 페이지에 들어가주세요. 그리고 '구성 속성 > C/c++ > 전처리기'까지 들어와주세요.

그리고 '전처리기 정의'라고 된 곳에 _CRT_SECURE_NO_WARNINGS를 넣어주시면 됩니다. 여기서 주의할 것은, 앞에 ';'을 붙여야 한다는 겁니다. ; 표시를 해줘야만 제대로 작동하는 걸 알 수 있습니다.

즉, ;_CRT_SECURE_NO_WARNINGS 이렇게 넣어주면 되겠네요. 이제 확인을 눌러주세요

 

 

그리고 프로젝트를 실행해보면??

 

 

 

제대로 X의 값을 입력받고 출력하는 것을 알 수 있습니다.

 

감사합니다~