Frankie,
I think there is some confusion about what is actually the standard, my draft version says (C11).
================
7.29.3 Wide character input/output functions
7.29.3.1 The fgetwc function
Synopsis
#include <stdio.h>
#include <wchar.h>
wint_t fgetwc(FILE *stream);
Description
If the end-of-file indicator for the input stream pointed to by stream is not set and a next wide character is present,
the fgetwc function obtains that wide character as a wchar_t converted to a wint_t and advances the associated file position indicator for the stream (if defined).
================
However, reading various pages on the net seem to suggest that fgetwc reads one byte at a time.
It does not seem sensible to me however, if you want a wide char get a wide char.
Again my C11 draft says that fopen is.
=================
7.21.5.3 The fopen function
Synopsis
#include <stdio.h>
FILE *fopen(const char * restrict filename, const char * restrict mode);
=================
John