Name
fgetws - reads a wide character string from a FILE stream
Library
libc.lib
Synopsis
|
wchar_t *
fgetws (wchar_t * restrict ws, int n, FILE * restrict fp);
|
Return values
Upon successful completion,
fgetws
returns
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
and
ferror
to determine which occurred.
Detailed description
The
fgetws
function
reads at most one less than the number of characters specified by
n
from the given
fp
and stores them in the wide character string
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.
Examples
#include <stdio.h>
#include <wchar.h>
/* Illustrates how to use fgetws API */
wchar_t *example_fgetws(wchar_t *buf)
{
FILE *fp = NULL;
wint_t retval;
int n;
/* for example, 10 characters to be read */
n = 10;
/* opening the input file */
fp = fopen("input.txt","r");
if(fp == NULL)
{
wprintf(L"Error: File open\n");
return (-1);
}
/* Read characters from the opened file */
retval = fgetws(buf, n, fp);
/* Close the file open for reading */
fclose(fp);
/* return the character read from the file */
return (buf);
}
Errors
The
fgetws
function will fail if:
[EBADF]
|
|
The given
fp
argument is not a readable stream.
|
[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,
fstat,
read,
or
malloc.
See also
feof,
ferror,
fgets
The
fgetws
function
conforms to
-p1003.1-2001.
Feedback
For additional information or queries on this page send feedback
© 2005-2007 Nokia
|
|