The fgetws function is the wide-character equivalent of the fgets function. It reads a string of at most n-1 wide characters into the wide-character array pointed to by ws, and adds a terminating L'0' character. It stops reading wide characters after it has encountered and stored a newline wide character. It also stops when end of stream is reached.
The behaviour of fgetws depends on the LC_CTYPE category of the current locale.
In the absence of additional information passed to the fopen call, it is reasonable to expect that fgetws will actually read a multibyte string from the stream and then convert it to a wide character string.