문제 설명
C 프로그램에서는 사용자 입력을 확인하는 것이 중요합니다. 특히 수학 연산을 수행할 때 예상된 형식입니다. 이 문서에서는 사용자가 제공한 입력이 정수인지 확인하는 방법을 설명합니다. 입력이 정수가 아닌 경우 프로그램은 사용자에게 유효한 정수를 다시 입력하라는 메시지를 표시합니다.
해결책
사용자 입력을 확인하는 두 가지 주요 접근 방식이 있습니다. 정수로:
1. cin.fail() 사용:
2. std::getline 및 문자열 조작 사용:
구현
아래는 std::getline 및 문자열 조작을 구현하는 코드 조각입니다. 접근 방식:
#include <iostream> #include <string> int main() { std::string theInput; int inputAsInt; std::getline(std::cin, theInput); while(std::cin.fail() || std::cin.eof() || theInput.find_first_not_of("0123456789") != std::string::npos) { std::cout << "Error" << std::endl; if( theInput.find_first_not_of("0123456789") == std::string::npos) { std::cin.clear(); std::cin.ignore(256,'\n'); } std::getline(std::cin, theInput); } std::string::size_type st; inputAsInt = std::stoi(theInput,&st); std::cout << inputAsInt << std::endl; return 0; }
이 코드는 유효한 정수가 입력될 때까지 사용자에게 정수를 입력하라는 메시지를 계속 표시합니다. 사용자가 숫자가 아닌 문자를 입력하거나 빈 입력을 제공하는 상황을 처리합니다.
위 내용은 C에서 정수 사용자 입력을 어떻게 효과적으로 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!