[C/C++] VS scanf오류 고치는 3가지방법(scanf_s)

이성훈·2021년 11월 7일
0

C/C++

목록 보기
3/4

이전까지 VS에서 scanf를 쓰면 오류가나서 사용을 못했는데,
해결방안으로는

  1. 프로젝트설정에서 일일이 전처리기설정 바꾸기
    -https://velog.io/@cldhfleks2/CC-VS-scanf-%EC%98%A4%EB%A5%98-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%84%A4%EC%A0%95%EC%9C%BC%EB%A1%9C-%EB%AC%B4%EC%8B%9C
  2. #define _CRT_SECURE_NO_WARNINGS
    -https://velog.io/@cldhfleks2/CRTSECURENOWARNINGS

을 사용했었는데, 새로 찾아보니 scanf_s 라는것으로도 대용이 가능했다.
https://docs.microsoft.com/ko-kr/previous-versions/visualstudio/visual-studio-2012/w40768et(v=vs.110)?redirectedfrom=MSDN
위 문서에가면 비슷단 여러 scanf계열의 함수들을 확인가능

사용방법은 기존의 scanf와 동일하나 추가되는 인자로 입력받을 크기를 지정해줄 수 있다.

이런식으로 사용이가능하다.

잘못된 입력크기를 지정하면 입력을 받지않고 이상한값으로 저장이된다.
코드 진행은 이어서 되긴한다. 특별한경우아니면 굳이 입력크기를 지정해주지 않아도 작동한다.

되도록이면 scanf_s 를 사용하라고 간접적으로 제한을 주는것이다.

P.S 백준에선 scanf_s쓸시 컴파일에러가난다.(scanf_s는 VS에서만 가능한 비표준함수)

profile
I will be a socially developer

0개의 댓글