Visual Studio가 2015부터는 보안이 강화되었어요.

scanf("%s", sentence) --> X

scanf_s("%s", sentence, sizeof(sentence)) -->O

 

버퍼를 지울 때도

fflush(stdin); --> visual studio2015 이전 버전

 while (getchar() != '\n'); -->visual studio 2015 부터

 

gets할 때도
gets(sentence); --> visual studio2015 이전 버전

gets_s(sentence, sizeof(sentence)); -->visual studio 2015 부터

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by jihyun_ly daisy_hyun

warning C4474: 'scanf' : too many arguments passed for format string

scanf_s를 해도 오류가 난다면

scanf_s("%s", &str, sizeof(str));로 argument를 한개 더 써주자

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by jihyun_ly daisy_hyun

visual studio 2015 에서는 보안이 강화가 돼서

그냥 scanf를 쓰면 오류가 뜹니다.

 

몇가지 해결책이 있는데

세가지 방법 중에 되는 것으로 해보세요

1.scanf를 scanf_s로 바꾼다.

 

2.#define _CRT_SECURE_NO_WARNINGS 를 추가해본다.
 

 

3.프로젝트 만들기 전에 사진의 체크부분을 풀어준다.


 

 

 

 

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by jihyun_ly daisy_hyun


티스토리 툴바