독개

[C++] 5.10 std::cin 더 잘 활용하기

by #독개#

/*
std::cin 더잘쓰기
우리가 의도하지 않은 입력이 들어왔을때 어떻게 대응을 해야할지

cin.clear : cin객체의 "내부 상태 플래그"를 초기화시켜서 cin 관련 기능이 정상작동 하도록함!
cin.fail : cin 오류시 1을 반환하고 아니면 0을 반환함!
cin.ignore : 입력 버퍼에 있는 모든 내용을 버림!
*/

#include <iostream>

int main()
{
	using namespace std;
	while (true)
	{
		static int inputedValue = 0;
		cout << "숫자를 입력하셔야 합니다" << endl;
		cout << "입력: ";
		cin >> inputedValue;

		if (cin.fail() == 1)//오류시에
		{
			cin.clear(); //에러 플래그 없앤다(즉, cin.fail을 초기화 이걸안하면 cin.fail은 계속 1상태라 무한히출력
			cin.ignore(100, '\n'); //100(임의로큰숫자하면됨)개 이상의 문자가 입력되거나 엔터가 입력되기 전까지 입력 시퀀스에 있는 모든 내용을 버린다
		}
		else
		{
			cout << "정답입니다";
			break
		}

	}
	return 0;
}

 

 

 

 


🐱‍👓독하게 개발

'🔥 프로그래밍 학습 > C++' 카테고리의 다른 글

[C++] 6.2 배열 Array 기초 #2  (0) 2022.11.14
[C++] 6.1 배열 Array 기초#1  (0) 2022.11.14
[C++] 5.9 난수만들기 random, rand(), srand()  (0) 2022.11.14
[C++] 5.8 break,continue  (0) 2022.11.14
[C++] 5.7 반복문 for  (0) 2022.11.14

블로그의 정보

독한 개발자

#독개#

활동하기