fgetws()

QNX SDP8.0C Library ReferenceAPIDeveloper

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:

  • If successful, fgetws() returns buf.
  • If the end-of-file indicator for the stream is set or the stream is at the end of the file, fgetws() sets the end-of-file indicator and returns NULL.
  • If an error occurred, fgetws() sets the error indicator for the stream, sets errno, and returns NULL.
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 pointYes
Signal handlerNo
ThreadYes
Page updated: