반응형
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 메세지가 계속 나온다.
반응형
'프로그래밍 > C++' 카테고리의 다른 글
Visual Studio에 OpenGL 설치하기 (1) | 2020.11.14 |
---|---|
[C++] 새로 알게 된 사실 몇 가지 (계속추가예정) (0) | 2020.10.22 |
[C] 백준 풀 때 Tip. 답안 검토 시 파일로 입력 넣기 (0) | 2020.09.26 |
[C++] 삼항연산자를 중첩해서 쓸 때 주의할 점 (0) | 2020.09.06 |
[C++] HEAP_CORRUPTION_DETECTED (0) | 2020.09.05 |