C++輸入錯誤類型時的一點細節

當輸入的數據錯誤時,C++會終止之後的所有輸出,但可以通過cin.clear()來繼續進行輸入。
例如,當你在輸入一個整型變量時輸入了一個字符,那麼C++就會終止之後的所有輸出,包括當前輸入。
而使用cin.clear()後可以繼續進行輸入。

在繼續進行輸入時,是從終止輸入的那一位重新開始輸入。

	int a;
	char b;
	cin>>a;
	if(cin.fail()){
		cin.clear();
		cin>>b;
		cout<<a<<" "<<b;
	}
	else{
		cout<<a<<" "<<b;
	}

但你在輸入錯誤數據後想跳過這一位繼續輸入,可以使用cin.get().

int a;
	cin>>a;
	if(cin.fail()){
		//cin.get();
		cin.clear();
		cin.get();
		cin>>a;
	}
	cout<<a;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章