Read a string of wide characters from a stream
Synopsis:
#include <wchar.h>
wchar_t * fgetws( wchar_t * buf, 
                  int n, 
                  FILE * fp );
Arguments:
- buf
- A pointer to a buffer in which fgetws() can store the
  wide characters that it reads.
- n
- The maximum number of characters to read.
- fp
- The stream from which to read the characters.
Library:
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
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 end-of-file is reached
- a newline ('\n') character is read
- n-1 characters have been read
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.
Note: 
Use
feof()
or
ferror()
to distinguish an end-of-file condition from an error.
 
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,
POSIX 1003.1
| Safety: |  | 
|---|
| Cancellation point | Yes | 
| Interrupt handler | No | 
| Signal handler | No | 
| Thread | Yes |