You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
4.1 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.4, http://www.gnu.org/software/texinfo/ -->
<head>
<title>ungetwc (The Red Hat newlib C Library)</title>
<meta name="description" content="ungetwc (The Red Hat newlib C Library)">
<meta name="keywords" content="ungetwc (The Red Hat newlib C Library)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Document-Index.html#Document-Index" rel="index" title="Document Index">
<link href="Document-Index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Stdio.html#Stdio" rel="up" title="Stdio">
<link href="vfprintf.html#vfprintf" rel="next" title="vfprintf">
<link href="ungetc.html#ungetc" rel="prev" title="ungetc">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<a name="ungetwc"></a>
<div class="header">
<p>
Next: <a href="vfprintf.html#vfprintf" accesskey="n" rel="next">vfprintf</a>, Previous: <a href="ungetc.html#ungetc" accesskey="p" rel="prev">ungetc</a>, Up: <a href="Stdio.html#Stdio" accesskey="u" rel="up">Stdio</a> &nbsp; [<a href="Document-Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Document-Index.html#Document-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="ungetwc_002d_002d_002dpush-wide-character-data-back-into-a-stream"></a>
<h3 class="section">4.69 <code>ungetwc</code>&mdash;push wide character data back into a stream</h3>
<a name="index-ungetwc"></a>
<a name="index-_005fungetwc_005fr"></a>
<p><strong>Synopsis</strong>
</p><div class="example">
<pre class="example">#include &lt;stdio.h&gt;
#include &lt;wchar.h&gt;
wint_t ungetwc(wint_t <var>wc</var>, FILE *<var>stream</var>);
wint_t _ungetwc_r(struct _reent *<var>reent</var>, wint_t <var>wc</var>, FILE *<var>stream</var>);
</pre></div>
<p><strong>Description</strong><br>
<code>ungetwc</code> is used to return wide characters back to <var>stream</var> to be
read again. If <var>wc</var> is WEOF, the stream is unchanged. Otherwise, the
wide character <var>wc</var> is put back on the stream, and subsequent reads will see
the wide chars pushed back in reverse order. Pushed wide chars are lost if the
stream is repositioned, such as by <code>fseek</code>, <code>fsetpos</code>, or
<code>rewind</code>.
</p>
<p>The underlying file is not changed, but it is possible to push back
something different than what was originally read. Ungetting a
character will clear the end-of-stream marker, and decrement the file
position indicator. Pushing back beyond the beginning of a file gives
unspecified behavior.
</p>
<p>The alternate function <code>_ungetwc_r</code> is a reentrant version. The
extra argument <var>reent</var> is a pointer to a reentrancy structure.
</p>
<br>
<p><strong>Returns</strong><br>
The wide character pushed back, or <code>WEOF</code> on error.
</p>
<br>
<p><strong>Portability</strong><br>
C99
</p>
<br>
</body>
</html>