VMS Help
CRTL, fgetws
*Conan The Librarian
|
Reads a line of wide characters from a specified file.
Format
#include <wchar.h>
wchar_t *fgetws (wchar_t *wstr, int maxchar, FILE *file_ptr);
The fgetws function has variants named _fgetws32 and _fgetws64
for use with 32-bit and 64-bit pointer sizes, respectively.
wstr
A pointer to a wide-character string large enough to hold the
information fetched from the file.
maxchar
The maximum number of wide characters to fetch.
file_ptr
A file pointer.
The fgetws function reads wide characters from the specified file
and stores them in the array pointed to by wstr. The function
reads up to maxchar-1 characters or until the new-line character
is read, converted, and transferred to wstr, or until an end-
of-file condition is encountered. The function terminates the
line with a null wide character. fgetws places the new-line that
terminates the input line into the user buffer, unless maxchar
characters have already been fetched.
x Pointer to wstr.
NULL Indicates the end-of-file or an error. The
contents of wstr are undefined if a read
error occurs. If a read error occurs, the
function sets errno. For a list of possible
errno values, see fgetwc.
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
#include <wchar.h>
main()
{
wchar_t wstr[80],
*ret;
FILE *fp;
/* Create a dummy data file */
if ((fp = fopen("file.dat", "w+")) == NULL) {
perror("open");
exit(1);
}
fprintf(fp, "this is a test\n") ;
fclose(fp) ;
/* Open a test file containing : "this is a test" */
if ((fp = fopen("file.dat", "r")) == (FILE *) NULL) {
perror("File open error");
exit(EXIT_FAILURE);
}
ret = fgetws(wstr, 80, fp);
if (ret == (wchar_t *) NULL) {
perror("fgetws failure");
exit(EXIT_FAILURE);
}
fputws(wstr, stdout);
fclose(fp);
delete("file.dat");
}