The Way

Visual Studio 2015 C4996 에러 (scanf 사용 시) 본문

공부/C++ 메모사항

Visual Studio 2015 C4996 에러 (scanf 사용 시)

Jeonggyun 2017. 8. 22. 21:19

C++ 코딩용으로 Visual Studio 2015를 사용할 때

scanf를 사용하려고 하면 C4996 에러가 발생한다.


해석하자면, scanf 함수가 안전하지 않아 scanf_s를 사용하라고 적혀있다.

또는, _CRT_SECURE_NO_WARNINGS를 사용하라고 한다.


예시 코드는 다음과 같다.

#include <iostream>

using namespace std;

int main() {
	int n;
	scanf("%d", &n);
	for (int i = 1; i <= n; ++i) {
		printf("%d\n", i);
	}

	return 0;
}

1부터 입력받은 숫자까지 출력하는 코드인데, 위와 같은 에러가 발생한다.




해결법 1. scanf_s 사용

scanf_s("%d", &n);

간단히, 7번째 줄의 scanf 함수를 scanf_s 함수로 바꾸어주면 된다. 사용법은 동일하다.




해결법 2. _CRT_SECURE_NO_WARNINGS 사용

코드의 맨 앞부분에

#define _CRT_SECURE_NO_WARNINGS

을 추가한다.


위와 같은 해결법으로 간단히 에러를 없앨 수 있다.

Comments