Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > G


HP-UX 11i Version 3: February 2007

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index


getwc(), getwchar(), fgetwc() — get a wide character from a stream file


#include <wchar.h>

wint_t getwc(FILE *stream);

wint_t getwchar(void);

wint_t fgetwc(FILE *stream);

Obsolescent Interfaces

wint_t getwc_unlocked(FILE *stream);

wint_t getwchar_unlocked(void);

wint_t fgetwc_unlocked(FILE *stream);


These functions are compliant with the XPG4 Worldwide Portability Interface wide-character I/O functions. They parallel the 8-bit character I/O functions defined in getc(3S).



Returns the next character from the named input stream, converts that to the corresponding wide character and moves the file pointer ahead one character in stream. getwchar() is defined as getwc(stdin). getwc() and getwchar() are defined both as macros and as functions.


Behaves like getwc(), but is a function rather than a macro.

Definitions for these functions, the types wint_t, wchar_t and the value WEOF are provided in header file <wchar.h>.

Obsolescent Interfaces

getwc_unlocked(), getwchar_unlocked(), fgetwc_unlocked() get a wide character from a stream file.


After getwc(), getwchar(), or fgetwc() is applied to a stream, the stream becomes wide-oriented (see orientation(5)).


Upon successful completion, getwc(), getwc_unlocked(), getwchar(), getwchar_unlocked(), fgetwc(), and fgetwc_unlocked() return the next wide-character read from stream (stdin for getwchar()) converted to a type wint_t. If the stream is at end-of-file, the end-of-file indicator for the stream is set and WEOF is returned.

When the file corresponding to an open stream gets extended after the end-of-file is reached, any subsequent calls to these functions will succeed and the end-of-file indicator will remain set. However, in the UNIX2003 standards environment (see standards(5)), these functions will return WEOF and the end-of-file indicator will still remain set.

If a read error occurs, the error indicator for the stream is set, errno is set to indicate the error, and WEOF is returned.

ferror() and feof() can be used to distinguish between an error condition and an end-of-file condition.


getwc(), getwc_unlocked(), getwchar(), getwchar_unlocked(), fgetwc(), and fgetwc_unlocked() fail if data needs to be read into the stream's buffer, and:


The O_NONBLOCK flag is set for the file descriptor underlying stream and the process would be delayed in the read operation.


The file descriptor underlying stream is not a valid file descriptor open for reading.


The read operation was terminated due to the receipt of a signal, and either no data was transferred or the implementation does not report partial transfer for this file.


A physical I/O error has occurred, or the process is a member of a background process and is attempting to read from its controlling terminal, and either the process is ignoring or blocking the SIGTTIN signal or the process group of the process is orphaned.


The data obtained from the input stream does not form a valid wide character.

Additional errno values may be set by the underlying read() function (see read(2)).


Environment Variables

LC_CTYPE category determines how wide-character conversions are done.

International Code Set Support

Single- and multibyte character code sets are supported.


If the value returned by getwc(), getwchar(), fgetwc(), or fgetwc_unlocked() is stored into a type wchar_t variable then compared against the constant WEOF, the comparison may never succeed because extension of a wchar_t to a wint_t is machine-dependent.

getwc_unlocked(), getwchar_unlocked() and fgetwc_unlocked() are obsolescent interfaces supported only for compatibility with existing DCE applications. New multithreaded applications should use getwc(), getwchar() and fgetwc().


getwc() was developed by OSF and HP.


getwc(): XPG4

fgetwc(): XPG4

getwchar(): XPG4

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.