>백엔드 개발 >C++ >Failbit을 사용하여 C에서 숫자 입력을 확인하는 방법은 무엇입니까?

Failbit을 사용하여 C에서 숫자 입력을 확인하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-15 11:50:02904검색

How to Validate Numeric Input in C   Using the failbit?

C에서 숫자 입력 유효성 검사

사용자 입력 유효성 검사는 숫자 값을 허용하는 모든 프로그램에 중요합니다. C에서 입력이 숫자인지 확인하는 한 가지 접근 방식은 입력 스트림 cin의 실패 비트 기능을 활용하는 것입니다.

failbit로 입력 유효성 확인

cin이 잘못된 입력이 발생하면 입력 스트림에 오류 비트가 설정됩니다. 이 조건을 확인하려면 다음 구문을 사용할 수 있습니다.

int n;
cin >> n;
if (!cin) // or if (cin.fail())
{
    // User did not input a number
    cin.clear(); // Reset failbit
}

Failbit가 설정된 경우 입력이 유효한 숫자가 아님을 나타냅니다. 이 경우 오류 상태를 지우려면 cin.clear()를 사용하여 Failbit를 재설정해야 합니다.

cin.ignore()로 잘못된 입력 지우기

지운 후 Failbit인 경우 cin.ignore()를 사용하여 스트림에서 잘못된 입력을 삭제해야 합니다.

cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // Skip bad input

이 줄은 다음 개행 문자('n')까지의 모든 문자를 효과적으로 읽고 삭제합니다. 잘못된 입력 지우기

잘못된 입력 처리

잘못된 입력이 지워지면 사용자에게 입력을 다시 입력하라는 메시지를 표시할 수 있습니다. 유효한 입력이 수신될 때까지 계속되는 루프를 사용하여 이 작업을 수행할 수 있습니다.

while (cin.fail())
{
    // User input was invalid
    cin.clear();
    cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    
    // Prompt user to re-enter input
    cout << "Invalid input. Please enter a valid number: ";
    cin >> n;
}

failbit 및 cin.ignore() 메서드를 활용하면 C에서 숫자 입력을 효과적으로 검증하여 프로그램이 처리하는지 확인할 수 있습니다. 유효한 사용자 입력과 유효하지 않은 사용자 입력을 모두 정상적으로 처리합니다.

위 내용은 Failbit을 사용하여 C에서 숫자 입력을 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.