Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ungetwc(3S) — SunOS 5.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

read(2)

fseek(3S)

fsetpos(3S)

rewind(3S)

setbuf(3S)

attributes(5)

ungetwc(3S)

NAME

ungetwc − push wide-character code back into input stream

SYNOPSIS

#include <stdio.h>
#include <wchar.h>

wint_t ungetwc(wint_t wc, FILE ∗stream);

DESCRIPTION

The ungetwc() function pushes the character corresponding to the wide character code specified by wc back onto the input stream pointed to by stream. The pushed-back characters will be returned by subsequent reads on that stream in the reverse order of their pushing. A successful intervening call (with the stream pointed to by stream) to a file-positioning function ( fseek(3S), fsetpos(3S) or rewind(3S)) discards any pushed-back characters for the stream.  The external storage corresponding to the stream is unchanged. 

One character of push-back is guaranteed.  If ungetwc() is called too many times on the same stream without an intervening read or file-positioning operation on that stream, the operation may fail. 

If the value of wc equals that of the macro WEOF, the operation fails and the input stream is unchanged. 

A successful call to ungetwc() clears the end-of-file indicator for the stream.  The value of the file-position indicator for the stream after reading or discarding all pushed-back characters will be the same as it was before the characters were pushed back.  The file-position indicator is decremented (by one or more) by each successful call to ungetwc(); if its value was 0 before a call, its value is indeterminate after the call. 

RETURN VALUES

Upon successful completion, ungetwc() returns the wide-character code corresponding to the pushed-back character.  Otherwise it returns WEOF. 

ERRORS

The ungetwc() function may fail if:

EILSEQ An invalid character sequence is detected, or a wide-character code does not correspond to a valid character. 

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
MT-Level MT-Safe

SEE ALSO

read(2), fseek(3S), fsetpos(3S), rewind(3S), setbuf(3S), attributes(5)

SunOS 5.6  —  Last change: 22 Apr 1997

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026