|It's defined as a wide char for Unicode & UTF16 support primarily for filename name support (FAT32 LFN for example) and foreign console input.
There is also another important type in <wchar.h> which is wint_t which is the generic carrier form.
You need the concept of narrowing which take a wide character back to it's byte approximation (see function wctob).
wctob | Microsoft Docs[^]
The reverse concept is widening which takes a byte character and promotes it (see function btowc)
btowc | Microsoft Docs[^]
The letter conversions are controlled by the current LC_TYPE locale meaning the language type
Type something like this .. it prints the time in japanese
time_t t = time(0);
wcsftime(str, 100, L"%A %c", localtime(&t));
It will look something like "金曜日 2017/12/15 2:09:13"
In vino veritas