When using the ungetwc function, the wide character is pushed back onto the file indicated by file_ptr. One push-back is guaranteed, even if there has been no previous activity on the file. If a file positioning function (such as fseek) is called before the pushed back character is read, the bytes representing the pushed back character are lost. If the character to be pushed back is WEOF, the operation fails, the input stream is left unchanged, and WEOF is returned. See also getwc.