fgetws
- get a line of wide characters from a stream
LIBRARY
Lb libc
SYNOPSIS
#include <stdio.h>
#include <wchar.h> wchar_t *
fgetws (wchar_t * restrict ws int n FILE * restrict fp);
DESCRIPTION
The
fgetws ();
function
reads at most one less than the number of characters specified by
Fa n
from the given
Fa fp
and stores them in the wide character string
Fa ws .
Reading stops when a newline character is found,
at end-of-file or error.
The newline, if any, is retained.
If any characters are read and there is no error, a
`\0'
character is appended to end the string.
RETURN VALUES
Upon successful completion,
fgetws ();
returns
Fa ws .
If end-of-file occurs before any characters are read,
fgetws ();
returns
NULL
and the buffer contents remain unchanged.
If an error occurs,
fgetws ();
returns
NULL
and the buffer contents are indeterminate.
The
fgetws ();
function
does not distinguish between end-of-file and error, and callers must use
feof(3)
and
ferror(3)
to determine which occurred.
ERRORS
The
fgetws ();
function will fail if:
Bq Er EBADF
The given
Fa fp
argument is not a readable stream.
Bq Er EILSEQ
The data obtained from the input stream does not form a valid
multibyte character.
The function
fgetws ();
may also fail and set
errno
for any of the errors specified for the routines
fflush(3),
fstat(2),
read(2),
or
malloc(3).