VS 2019 scanf 불안 전한 문제 해결 안내

VS 2019 scanf 안전 하지 않 은 문제 제시
우리 가 지금 배 운 것 은 scanf()문 구 를 사용 하여 입력 하 는 것 이지 만 vs 2019 에 서 는 오류 표시 가 안전 하지 않 습 니 다.

일단 제 가 scanf 와 scanf-s 의 차 이 를 말씀 드 리 겠 습 니 다.
  • scanf()함 수 는 표준 C 에서 제공 하 는 표준 입력 함수 로 사용자 가 입력 한 데이터
  • scanf_s()함 수 는 Microsoft 회사 VS 개발 도구 가 제공 하 는 기능 이 같은 안전 표준 입력 함수 로 vc++2005 부터 VS 시스템 이 scanf 를 제공 합 니 다.s()。이 함 수 를 호출 할 때,최대 몇 개의 문 자 를 읽 는 지 표시 하기 위해 숫자 를 제공 해 야 합 니 다.
  • scanf()는 데 이 터 를 읽 을 때 경 계 를 검사 하지 않 기 때문에 메모리 접근 이 경 계 를 넘 을 수 있 습 니 다
  • 
    //  :   5            10  ,    scanf()  10   
    char buf[5]={'\0'};
    scanf("%s", buf);
    //    1234567890, 5                    ,             。
    
    
    이상 코드 를 scanf 로 사용 하면s()는 이 문 제 를 피 할 수 있 습 니 다.
    
    char buf[5]={'\0'};
    scanf_s("%s",buf,5); //    4   ,  buf[4]  '\0'
    //    1234567890, buf     4   
    
    
    이 잘못 보고 문 제 를 해결 하 는 데 몇 가지 해결 방법 이 있다.
    1.가장 간단 하고 거 친
    vs 2019 를 사용 할 때 scanf 를 쓸 때마다 scanf-s 로 쓰 는 것 을 기억 하 세 요.
    2.항목 에서 속성 변경
    첫 번 째 단계:빈 항목 만 들 기
    새 항목 만 들 기 선택

    빈 항목 을 선택 하여 만 들 기

    2.원본 파일 만 들 기

    우 클릭


    c++파일 추가
    3.속성 변경

    오른쪽 클릭 소스.cpp

    속성 선택

    이 때 일반적인 SDL 옵션 은"예(/sdl)"입 니 다.

    여 기 를'아니오(/sdl-)'로 바 꾸 고 확인 하면 됩 니 다.

    이 때 도 경고 가 있 지만 프로그램의 디 버 깅 실행 에 영향 을 주지 않 습 니 다.그러나 이 방법 은 새로운 c+파일 을 만 들 때마다 속성 을 바 꾸 는 것 이 번 거 로 운 것 이 단점 입 니 다.
    세 번 째 방법:가 홍
    맨 위 에 매크로 추가:
    
    #define _CRT_SECURE_NO_WARNINGS 1
    scanf 의 불안 전한 문제 제거 하기;
    VS 2019 에서 scanf 의 안전 하지 않 은 문제 해결 을 알 리 는 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 VS 2019 scanf 의 안전 하지 않 은 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기