티스토리 뷰

반응형

#define _CRT_SECURE_NO_WARNINGS 


또는,


#pragma warnings(disable: 4996)


위의 두 코드 중 하나를 소스코드 첫 단에 둘 중 하나를 넣어줌으로써, scanf, strcpy, fopen 등을 사용할 때

Warning C4996 Error 로 부터 방지할 수 있습니다. 


사용하는 이유는, 안전성의 이유로 Visual Studio 2005 이상부터 경고가 발생합니다.

SECURE 모드로 scanf_s 로 사용해서 해결을 하라고 하지만, 

다른 곳에서 사용하기에는 호환성의 문제가 많습니다. (Visual Studio 에서만 지원합니다.)


C에서는 문자열이나 파일에 관련된 버퍼나 스택등 메모리에 문제가 생길 수도 있기 때문에 _s를 권장합니다.

_s는 메모리의 사이즈를 요구합니다. scanf_s("%d", &store, 10);

즉, [10] 개의 사이즈를 받는다고 명시하는 것 입니다.


이와같이 이 경고를 무시하고 scanf를 계속 사용 하고싶다면,

소스코드 첫 부분에 위의 두 코드 중 하나를 사용하면 됩니다.



 Ref.  http://squire3131.egloos.com/v/4349122



반응형
댓글