Reads a wide-character string from a file
#include <stdio.h>
#include <wchar.h>
wchar_t *fgetws ( wchar_t * restrict buffer , int n , FILE * restrict fp );
The fgetws( ) function reads a sequence of up to n - 1 wide characters from the file referenced by the FILE pointer argument, and writes it to the buffer indicated by the char pointer argument, appending the string terminator character L'\0'. If a newline character (L'\n') is read, reading stops and the string written to the buffer is terminated after the newline character. The fgetws( ) function returns the pointer to the wide string buffer if anything was written to it, or a null pointer if an error occurred or if the file position indicator was at the end of the file.
Example
FILE *fp_in_wide;
wchar_t buffer[4096];
wchar_t *line = &buffer;
if (( fp_in_wide = fopen( "local.doc", "r" )) == NULL )
perror( "Opening input file" );
fwide( fp_in_wide );
line = fgetws( buffer, sizeof(buffer), fp_in_wide );
if ( line == NULL )
perror( "Reading from input file" );
See Also
fputws( ), putws( ), fgetwc( ), fgets( ), fputs( )
|