본문 바로가기
프로그래밍/C

[C언어] scanf() this function or variable may be unsafe. 오류 해결

by 아임코딩 2023. 4. 30.
728x90
반응형

안녕하세요 아임코딩입니다.

이 글은 visual studio 2022 기준으로 제작되었습니다.

 

비주얼 스튜디오에서 scanf() 함수를 사용하면 안전하지 않다는 오류가 나온다

아래의 코드를 실행해보자.

#include<stdio.h>

int main()
{
	int num;

	scanf("%d", &num);
}

 

int형 변수 하나를 선언하고 scanf() 함수를 통해서 사용자의 입력을 받으려고 시도하는 코드를 작성해서 실행하면

아래와 같은 오류 메세지를 확인할 수 있다.

 

 

이런 글을 확인할 수 있다.

이 오류 메세지를 해결하는 몇가지 방법에 대해서 알아보겠습니다.

 

1. 프로젝트 -> 속성 -> C/C++ -> SDL 검사 -> 아니오

오류 해결 방법

 

2.#pragma warning(disable:4996) 추가

소스코드에 #pragma warning(disable:4996)를 추가합니다.

#include<stdio.h>

#pragma warning(disable:4996)

int main()
{
	int num;

	scanf("%d", &num);
}

 

 

3.#define _CRT_SECURE_NO_WARNINGS 추가

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int num;

	scanf("%d", &num);
}

 

크게 총 3가지 정도로 scanf()의 안전상의 이유로 발생하는 오류를 해결할 수 있습니다.

728x90
반응형