"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C ++에서 사용자의 정수 입력을 효과적으로 검증하려면 어떻게해야합니까?

C ++에서 사용자의 정수 입력을 효과적으로 검증하려면 어떻게해야합니까?

2025-03-22에 게시되었습니다
검색:342

How Can I Effectively Validate Integer Input from the User in C  ?

int x; cin >> x; if (cin.fail ()) { // int가 아닙니다. }

cin.fail () 함수는 입력 스트림의 상태를 확인합니다. 입력 작업이 성공하지 못한 경우 (예 : 유효하지 않은 입력으로 인해) 함수는 True를 반환하고 FAILBIT 플래그를 설정합니다. 그렇지 않으면 거짓을 반환합니다.

이 접근법을 사용하면 입력이 정수인지 아닌지를 결정할 수 있습니다. 그렇지 않은 경우, 입력 스트림에 정수가 포함 된 시나리오와 정수가 포함 된 시나리오의 경우 사용자에게 유효한 정수를 다시 입력하도록 촉구하는 등의 적절한 조치를 취할 수 있습니다.

int x; while (cin.fail ()) { cin.clear (); cin.ignore (256, '\ n'); cin >> x; }
int x;
cin >> x;

if (cin.fail()) {
    // Not an int.
}
cin.clear () 함수는 실패 플래그를 지우고 cin.ignore (256, '\ n')는 첫 번째 Newline 문자 또는 256 자까지 나머지 입력 문자를 건너 뜁니다. 정수. 그러나이 접근법은 부동 소수점 숫자가 예상되는 경우에는 적합하지 않을 수 있습니다.

요약하면, 제공된 코드 스 니펫을 사용하면 표준 입력 스트림의 입력이 정수인지 확인할 수 있습니다. 그렇지 않은 경우 그에 따라 상황을 처리하여 프로그램에서 유효한 정수 값 만 허용되도록 할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3