Previous Page
Next Page


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.


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( )

Previous Page
Next Page