[Previous] [Contents] [Next]

fgetws()

Read a string of characters from a stream

Synopsis:

#include <wchar.h>

wchar_t * fgetws( wchar_t * buf, 
                  int n, 
                  FILE * fp );

Library:

libc

Description:

The fgetws() function reads a string of wide characters from the stream specified by fp, and stores them in the array specified by buf.

It stops reading wide characters when one of the following occurs:

The fgetws() function places a NUL at the end of the string.


Note: Don't assume all strings have newline characters. A newline character isn't present when more than n-1 characters occur before the newline.

Also, a newline character might not appear as the last character in a file when the end-of-file is reached.


Returns:

NULL
Failure; the stream is at the end-of-file or an error occurred (errno is set).
buf
Success.

Errors:

EAGAIN
The O_NONBLOCK flag is set for fp and would have been blocked by this operation.
EBADF
The file descriptor for fp isn't valid for reading.
EINTR
A signal terminated the read operation; no data was transferred.
EIO
Either a physical I/O error has occurred, or the process is in the background and is being ignored or blocked.
EOVERFLOW
Cannot read at or beyond the offset maximum for this stream.

Classification:

ANSI

Safety:
Cancellation point Yes
Interrupt handler No
Signal handler No
Thread Yes

See also:

errno

"Stream I/O functions" and "Wide-character functions" in the summary of functions chapter.


[Previous] [Contents] [Next]