error C4996 'scanf'에 에러가 뜨는 경우가 있다.
Visual Studio에서 SDL 검사를 하면서, scanf 가 보안 취약점이 있으니
scanf_s 를 사용하라고 강요(?) 한다.
에러에서 _CRT_SECURE_NO_WARNINGS를 사용하라고 추천해준다.
이 문제를 해결하는 덴 여러 방법이 있다.
1. 추천한대로 scanf_s를 사용해도 된다.
scanf_s("%d", &n, sizeof(n));
인자는 차례대로, 포맷 스트링, 변수 주소, 변수의 사이즈이다.
stack overflow를 방지하기 해서 크기를 받는다.
2. _CRT_SECURE_NO_WARNINGS를 사용한다.
코드 위에 #define _CRT_SECURE_NO_WARNINGS 를 추가해준다.
3. SDL 검사를 끈다. -> 그럼 SDL 검사를 안해서 에러 메시지가 나타나지 않는다.
맨 밑에 프로젝트 속성에 들어가서
C/C++ > 일반 에서 SDL 검사에 네 로 된걸 아니요로 바꿔야 한다.
그럼 scanf를 사용해도 문제가 발생하지 않는다.
참고:
https://bymakers.tistory.com/6
C언어 Visual Studio scanf 에러 해결 방법
비주얼 스튜디오 2013(VS 2013) 버전 이상부터 scanf 을 사용하면 아래와 같은 에러가 나면서 컴파일이 안됩니다 에러 메시지를 보면 error C4996: 'scanf': This function or variable may be unsafe. Consider u..
bymakers.tistory.com
https://marinelifeirony.tistory.com/14
[C언어]#5 입력받기 scanf, scanf_s 문
드디어 외울게 많은 힘든 파트들이 끝났네요 이번에 배울것은 입력을 받아서 저장할수 있게해주는 함수 scanf, scanf_s 를 배워볼건데요. scanf는 Visual 2015때 저가 공부했는데 scanf_s를 쓰는걸 마이크
marinelifeirony.tistory.com
'언어 > C&C++ 응용' 카테고리의 다른 글
[C] 난수 발생 (0) | 2021.08.03 |
---|---|
[C] LNK1168 에러 (0) | 2021.08.03 |
[C++] STL vector (0) | 2021.06.22 |
[C++ 템플릿] 스택(stack), 큐(queue), 우선순위 큐(priority_queue) (0) | 2021.06.14 |
[C++] String 라이브러리 (0) | 2021.06.14 |