VS 2019 에서 scanf 반환 값 이 무시 되 는 문제 및 해결 방법

3447 단어 VS2019scanf반환 값
어제 Visual Studio 2019 를 사용 하여 C 언어 프로그램 을 작성 하 는 중 scanf 반환 값 이 무시 되 었 습 니 다.

저도 처음에 C 언어 를 공 부 했 기 때문에 이런 문 제 를 처음 만 났 고 어떻게 된 일 인지 몰 랐 습 니 다.그리고 크롬 에 가서 연 구 를 했 는데 그 이 유 를 알 게 되 었 고 여러 가지 구석 에 흩 어 진 해결 방법 을 찾 았 습 니 다.저 는 여기 서 요약 하고 정리 하 겠 습 니 다.
문제 의 원인:
ANSI C 에는 scanf()만 있 고 scanf 는 없습니다.s(),그러나 scanf()는 읽 을 때 경 계 를 검사 하지 않 기 때문에 메모리 누 출 이 발생 할 수 있 습 니 다.그래서 Microsoft 는 VS 컴 파일 러 에서 scanf 를 제공 합 니 다.s(),scanf 라 는 안전 하지 않 은 함 수 를 계속 사용 하려 면 다음 과 같은 방법 으로 해결 할 수 있 습 니 다.
방법 ①:
scanf 변경:scanfs
이것 은 VS 컴 파 일 러 특유 의 것 입 니 다.scanf()가 안전 하지 않다 고 생각 되면 스스로 scanf 를 정의 합 니 다.s()。

사실 저 는 이런 방법 을 추천 하지 않 습 니 다.왜냐하면 scanfs.이것 은 vs 컴 파일 러 특유 의 것 이다.즉,크로스 플랫폼 성/이식 성 을 가지 지 않 고 다른 컴 파일 러 에서 운행 을 식별 할 수 없다 는 것 이다.
방법 ②:
컴 파 일 러 오류 알림 의 원인 은 VS 의 SDL 검사 에 대해 서 는 찾 아서 닫 으 면 됩 니 다.
닫 기 절차:오른쪽 단 추 를 누 르 면'프로젝트 파일'―'속성'―'속성 설정'―'C/C++'―'일반적인'―'SDL 검사'를'아니오'로 바 꾸 면 됩 니 다.그림 참조.

여 부 를 바 꾼 후에 다시 번역 하면 문제 가 없다.

방법 ③:
C 언어 프로그램 시작 에 코드 추가:#pragma warning(disable:4996)// (혹은)
C 언어 프로그램 시작 에 코드 추가:#pragma warning(once:4996)//

방법 ④:
C 언어 프로그램 시작 에 코드 추가: #define _CRT_SECURE_NO_WARNINGS//
매번 이런 코드 를 넣 어야 하 는데 좀 힘 들 지 않 아 요?내 가 이런 방법 을 처음 찾 았 을 때 도 그 랬 어)
사실 그렇게 귀 찮 게 할 필 요 는 없다.여 기 는 두 가지 방법 으로 나 눌 수 있다.
(1)우 리 는 VS 에 만 가입 해 야 한다CRT_SECURE_NO_WARNINGS 이 매크로 만 있 으 면 됩 니 다.구체 적 인 조작 은 다음 그림 과 같 습 니 다.

(2)VS 2019 설치 경로 에서'new c+file.cpp'파일 을 찾 아 메모 장 으로 열 고 이 줄 코드 를 복사 해서 붙 여 넣 은 다음 저장 하면 됩 니 다.그러면 나중에.c 원본 파일 을 새로 만 들 때마다 이 줄 코드 가 자동 으로 첫 줄 에 나타 납 니 다.


[주의]저장 할 때'접근 거부'가 발생 하면 설치 도구'Notepad++'를 다운로드 한 다음 관리자 로 이 소프트웨어 를 실행 할 수 있 습 니 다.이 소프트웨어 로 위 에서 언급 한'new c+file.cpp'파일 을 열 고 붙 여 넣 기 코드 를 복사 하여 저장 하면 됩 니 다.
마지막 으로 언급 한 이 두 가 지 는 모두 한 번 에 해결 한 것 이 니 뒤 에는 더 이상 할 필요 가 없다.
저 는 개인 적 으로 방법 ④ 의 제(1)방법 에 치 우 칩 니 다.나 도 네가 이런 방법 을 사용 하 는 것 을 비교적 추천한다--어쨌든 간단 하고 일 로 영일 이 라 고 할 수 있다
VS 2019 에서 scanf 반환 값 이 무시 되 는 문제 와 해결 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 VS 2019 scanf 반환 값 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기