btowc - Man Page

single byte to wide character conversion


This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.


#include <stdio.h>
#include <wchar.h>

wint_t btowc(int c);


The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2017 defers to the ISO C standard.

The btowc() function shall determine whether c constitutes a valid (one-byte) character in the initial shift state.

The behavior of this function shall be affected by the LC_CTYPE category of the current locale.

Return Value

The btowc() function shall return WEOF if c has the value EOF or if (unsigned char) c does not constitute a valid (one-byte) character in the initial shift state. Otherwise, it shall return the wide-character representation of that character.

In the POSIX locale, btowc() shall not return WEOF if c has a value in the range 0 to 255 inclusive.


No errors are defined.

The following sections are informative.



Application Usage




Future Directions


See Also


The Base Definitions volume of POSIX.1-2017, <stdio.h>, <wchar.h>

Referenced By

fwprintf(3p), wchar.h(0p), wctob(3p).

2017 IEEE/The Open Group POSIX Programmer's Manual