ustawienie cin aby zwracalo wartosc fail true

0

Witam.
Tak jak w temacie. Potrafi ktoś tak zrobić aby w standardwym wejsciu pojawilo sie fail?
kod funkcji:

istream& operator >>(istream &strm, Macierz &ob)
{	
	char znak;
	TYP wartosc;
	
	//zczytujemy pierwszy znak
	
	if(ob.flagaPierwszyZnak==1)
	{			
				cin.get(znak);
					if(znak!='|')
						//********************************TUTAJ MA SIE POJAWIC W CIN FAIL
					else
						ob.flagaPierwszyZnak=0;
				
	}
	else
	{		
					cin>>znak;
					if(znak>47 && znak<58)
					{				
									cin.unget();
									cin >> wartosc;
									cout<< wartosc<<" ";
									if(cin.good())
									{	
												//ob.macierz[ob.kolumna][ob.wiersz]=wartosc;
												ob.wiersz++;
												if(ob.wiersz%4==0)
														cout<<endl;
												//if(ob.wiersz%3==0)
												//{
												//		ob.kolumna++;
												//		ob.wiersz=0;
											//	}
									}
									else
									{
											cout<<"Error read"<<endl;
											exit(1);
									}	
					}
					else if(znak==124)
					{
							cin.unget();
							ob.flagaPierwszyZnak=1;
					}

					
	}

	return strm;
} 
0

? Normalnie, próbuj wczytać np. int a podaj na wejście literki.

0

Dzięki zrobiłem tak jak napisałeś. Pomogło:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1