Answer:
cin.ignore function written as cin.ignore()
Step-by-step explanation:
- As we know that cin is an object that is used to obtain the input entered by the user through the keyboard.
- cin.ignore() is a function which is used to ignore or skip one or more characters in the keyboard buffer.
- Keyboard buffer is a small storage area which is used to store keystrokes.
- When a key is pressed on the keyboard it is referred to as a keystroke.
- So before processing, these keystrokes are stored in keyboard buffer.
- So when we use cin to input a character from the user through the keyboard, the keyboard buffer must be empty. If that's not done then the character entered will be taken by the buffer of previous variable.
- Lets take an example of why we want to use cin.ignore() function.
- For example you want the employee (user) to enter his name and you are using cin to read this name from the user.
char empname[8];
cin>>empname;
- Now if the user types his name lets say Anonymous and press enter key this will be taken as new line character and it will store this newline character \\ into the buffer.
- cin >> statement reads data from the buffer and stops reading when it reaches newline character.
- So Anonymous is read in and stored in empname variable but newline character is left in the keyboard buffer.
- Lets say after cin>>empname we write another statement that takes a character from user. A user wants to enter character "a".
char character;
character = cin.get();
- When cin.get finds the newline character \\ in keyboard buffer, it uses it (as cin.get can read the newline character in the buffer) without waiting for the user to input "a".
- So cin.ignore() function is used to avoid such situation.
- We can specify the characters to be ignore within the cin.ignore() function such as cin.ignore(10,'\\') will ignore 10 characters in the buffer before taking new line or until a \\ character comes.
- You can simply use cin.ignore() which will ignore the very next character just as \\ in our example. In our example we can use cin.ignore() after the cin>>empname; and before using cin.get();