Why clear a buffer? code example
Example: how to clear cin buffer
int number;
cout << "Enter an Integer: ";
cin >> number;
// User types any char or string of length < 100
// Because input stream is in a failed state, cin will be evaluated to false
while ( !cin )
{
cin.clear (); // Restore input stream to working state
cin.ignore ( 100 , '\n' ); // Get rid of any garbage that user might have entered
cout << "I said enter an integer, Dumbass. Try again: ";
cin >> number; // After cin is restored and any garbage in the stream has been cleared, store user input in number again
}