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
이것은 line은 다음 개행 문자('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 중국어 웹사이트의 기타 관련 기사를 참조하세요!