프로그래밍/C++
[C++] 비주얼스튜디오(VS)에서 발생하는 scanf 오류 해결하기
유태정
2020. 9. 22. 14:53
반응형
VS에서 scanf를 사용하려고 하면 아래와 같은 경고, 오류 메세지가 나온다.
⚠ C6031 반환 값이 무시되었습니다. 'scanf'.
🚫 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.
방법은 여러가지가 있다. 첫 번째로 위 오류 메세지에서 권고한 옵션을 적용하는 것이다.
코드 맨 위에 아래 코드를 한 줄 추가하면 C4996 오류 메세지가 없어지며 컴파일이 된다.
#define _CRT_SECURE_NO_WARNINGS
하지만, C6031 경고 메세지는 없어지지 않는다. 이를 없애려면 윗줄과 더불어 아래를 추가한다.
#pragma warning(disable : 6031)
그러면 이제, 경고 메세지도 없이 깔끔해진다.
위를 활용하면 #define _CRT_SECURE_NO_WARNINGS 대신에 아래줄도 동일하게 적용할 수 있다.
#pragma warning(disable : 4996)
참고로, 프로젝트 속성에서 C/C++ 탭으로 들어간 뒤 SDL 검사를 아니요(/sdl-)로 설정하면 C4996 오류 메세지를 끌 수 있다. 하지만 이 경우에는 오류로 컴파일이 안 되던 문제만 해결될 뿐, 경고 메세지로써 C4996 메세지가 계속 나온다.
반응형