cin 읽기 전용 숫자 만들기
cin을 사용하여 숫자 입력을 적용하는 것은 특히 혼합 입력 유형을 처리할 때 문제가 될 수 있습니다. 이 기사에서는 cin이 숫자 값만 허용하도록 하는 솔루션을 조사합니다.
제공된 코드에서 while 루프는 숫자가 아닌 문자를 무시하여 잘못된 입력을 수정하려고 시도합니다. 그러나 이 방법은 여러 입력을 처리할 때 한계에 직면합니다.
해결책: std::getline 및 std::string
이러한 장애물을 극복하기 위해 다음을 사용할 수 있습니다. 보다 포괄적인 접근 방식:
std::stringstream:
변환 유효성 검사:
#include <sstream> #include <string> int main() { std::string line; double d; while (std::getline(std::cin, line)) { std::stringstream ss(line); if (ss >> d) { if (ss.eof()) { // Success break; } } std::cout << "Error!" << std::endl; } std::cout << "Finally: " << d << std::endl; }
위 내용은 C에서 `cin`이 숫자 입력만 허용하도록 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!