ungetwc(3)

ungetwc3

Un-get wide character from input stream

Usage

#include <stdio.h>

#include <wchar.h>

wint_t

ungetwc(wint_t wc, FILE *stream);

#include <stdio.h>

#include <wchar.h>

#include <xlocale.h>

wint_t

ungetwc_l(wint_t wc, FILE *stream, locale_t loc);

Library

Standard C Library (libc, -lc)

Overview

The ungetwc() function pushes the wide character wc (converted to an wchar_t) back onto the input stream pointed to by stream. The pushed-backed wide characters will be returned (in reverse order) by subsequent reads on the stream. A successful intervening call to one of the file positioning functions fseek(3), fsetpos(3), or rewind(3), using the same stream, will discard the pushed-back wide characters.

Only one wide character of push-back is guaranteed, but as long as there is sufficient memory, an effectively infinite amount of push-back is allowed.

If a character is successfully pushed-back, the end-of-file indicator for the stream is cleared.

Although the ungetwc() function uses the current locale, the ungetwc_l() function may be passed a locale directly. See xlocale(3) for more information.

Return values

The ungetwc() function returns the wide character pushed-back after the conversion, or WEOF if the operation fails. If the value of the argument c character equals WEOF, the operation will fail and the stream will remain unchanged.

Releases

145 releases since Mac OS X 10.3; the text changed 3 times.

  1. 10.3–10.3.9
  2. 10.4–10.4.11
  3. 10.5–10.6.8
  4. 10.7–26.5

Standards

The ungetwc() function conforms to ISO/IEC 9899:1999 (“ISO C99”).

From Libc 1752.120.2 in macOS 26.5. Parsed by carta from the page's mdoc source.