C Programming
visual studio scanf 오류 해결 방법 5가지 - 공부하는 도비
DOVISH WISDOM
2022. 9. 30. 15:35
728x90
반응형
visual studio를 사용하다 보면, 다른 컴파일러에서 잘 사용하던 scanf 함수에 오류가 있다고 하는 경우가 있습니다.
간단하게 저 오류에 대해서 설명하면, scanf 는 안전하지 않은 함수이니 다른 조치를 취하여라..! 요런 뜻입니다.
해결 방법은 총 5가지가 있습니다.
1. scanf_s 사용
가장 간단한 방법으로 scanf에다가 _s 를 추가로 적어주면 됩니다.
하지만, 비쥬얼에서 scanf_s로 작성한 코드르 다른 컴파일러에다가 쓰면 오류가 나니 추천하는 방법은 아닙니다.
#include <stdio.h>
int main()
{
int a;
scanf_s("%d", &a);
return 0;
}
2. #define _CRT_SECURE_NO_WARNINGS 사용
코드 작성 시 가장 윗부분에 #define _CRT_SECURE_NO_WARNINGS 을 적어주는 방법입니다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
return 0;
}
3. 전처리기 단계에서 문제 해결
세 번째 방법은 두 번째에서 쓴 방법을 전처리기 단에서 해결하는 방법입니다.
(소스파일 -> 속성탭 -> C/C++ -> 전처리기 -> 편집 )까지 한 뒤, 기존에 있던 글 뒤에다가 ; 를 넣고 _CRT_SECURE_NO_WARNINGS; 를 추가로 넣어줍니다.
위 그림처럼 글을 추가하고, 코드를 실행시켜보면 오류가 발생하지 않는 걸 확인할 수 있습니다.
4. 오류 코드 무시 - #pragma warning(disable:4996)
scanf 만 단독으로 썼을 때, 발생되는 오류 코드 번호가 4996인데, 이 번호에 해당하는 오류는 무시하겠다는 의미입니다.
#pragma warning(disable:4996)
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
return 0;
}