The btowc() function converts c, interpreted as a multibyte sequence of length 1, starting in the initial shift state, to a wide character and returns it. If c is EOF or not a valid multibyte sequence of length 1, the btowc() function returns WEOF.
The behavior of btowc() depends on the LC_CTYPE category of the current locale.
This function should never be used. It does not work for encodings which have state, and unnecessarily treats single bytes differently from multibyte sequences. Use either mbtowc(3) or the thread-safe mbrtowc(3) instead.