문제:
제공된 코드는 숫자가 아닌 문자가 입력으로 받아들여집니다. 그러나 입력에 유효한 숫자 뒤에 문자가 포함되어 있는 상황은 처리하지 못합니다.
제안된 해결 방법:
이 문제를 해결하려면 다른 접근 방식을 사용하는 것이 좋습니다. std::getline 및 std::string을 사용합니다.
코드 조각:
#include <string> #include <sstream> 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 스트림을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!