Here is a pictorial explanation of unreading. Suppose you have a
stream reading a file that contains just six characters, the letters
`foobar'. Suppose you have read three characters so far. The
situation looks like this:
f o o b a r
^
so the next input character will be `b'.
If instead of reading `b' you unread the letter `o', you get a
situation like this:
f o o b a r
|
o--
^
so that the next input characters will be `o' and `b'.
If you unread `9' instead of `o', you get this situation:
f o o b a r
|
9--
^
so that the next input characters will be `9' and `b'.
Published under the terms of the GNU General Public License