생활
scanf 와 scanf_s와의 창점이 무엇인가요?
Vscode 상에서 scanf는 오류가 나서 질문드립니다.
책에서는 scanf를 쓰여있어 입력하여 컴파일을 했는데 scanf_s로 바꿔 입력하라고 오류가 뜨더군요
왜 이런 오류가 뜨는지 알수있을까요?
55글자 더 채워주세요.
1개의 답변이 있어요!
안녕하세요
scanf같은 경우 버퍼오버플로우에 취약해서 scanf_s를 사용하도록 권장합니다.
scanf_s는 문자열을 쓸때 버퍼 메모리의 크기를 3번째 인자로 미리 설정하여서 버퍼 오버플로우를 방지합니다.
기존의 scanf로 출력하고 싶을때는 소스파일을 만드실때 security를 해제하시거나
소스코드 첫부분에 #pragma warning(disable:4996)을 추가하면 출력 될겁니다.