If you used to program with lex or flex you would notice that the question is not so weird. In fact, it is common to use 'unput' to put characters back in the input buffer (which in fact can be from stdin).
Ok, I know flex does not push it into stdin, but it gives you that idea.