| .\" Copyright (c) Bruno Haible <haible@clisp.cons.org> |
| .\" |
| .\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) |
| .\" This is free documentation; you can redistribute it and/or |
| .\" modify it under the terms of the GNU General Public License as |
| .\" published by the Free Software Foundation; either version 2 of |
| .\" the License, or (at your option) any later version. |
| .\" %%%LICENSE_END |
| .\" |
| .\" References consulted: |
| .\" GNU glibc-2 source code and manual |
| .\" Dinkumware C library reference http://www.dinkumware.com/ |
| .\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html |
| .\" ISO/IEC 9899:1999 |
| .\" |
| .TH BTOWC 3 2021-03-22 "GNU" "Linux Programmer's Manual" |
| .SH NAME |
| btowc \- convert single byte to wide character |
| .SH SYNOPSIS |
| .nf |
| .B #include <wchar.h> |
| .PP |
| .BI "wint_t btowc(int " c ); |
| .fi |
| .SH DESCRIPTION |
| The |
| .BR btowc () |
| function converts \fIc\fP, |
| interpreted as a multibyte sequence |
| of length 1, starting in the initial shift state, to a wide character and |
| returns it. |
| If \fIc\fP is |
| .B EOF |
| or not a valid multibyte sequence of length 1, |
| the |
| .BR btowc () |
| function returns |
| .BR WEOF . |
| .SH RETURN VALUE |
| The |
| .BR btowc () |
| function returns the wide character |
| converted from the single byte \fIc\fP. |
| If \fIc\fP is |
| .B EOF |
| or not a valid multibyte sequence of length 1, |
| it returns |
| .BR WEOF . |
| .SH ATTRIBUTES |
| For an explanation of the terms used in this section, see |
| .BR attributes (7). |
| .ad l |
| .nh |
| .TS |
| allbox; |
| lbx lb lb |
| l l l. |
| Interface Attribute Value |
| T{ |
| .BR btowc () |
| T} Thread safety MT-Safe |
| .TE |
| .hy |
| .ad |
| .sp 1 |
| .SH CONFORMING TO |
| POSIX.1-2001, POSIX.1-2008, C99. |
| .SH NOTES |
| The behavior of |
| .BR btowc () |
| depends on the |
| .B LC_CTYPE |
| category of the |
| current locale. |
| .PP |
| 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 |
| .BR mbtowc (3) |
| or the thread-safe |
| .BR mbrtowc (3) |
| instead. |
| .SH SEE ALSO |
| .BR mbrtowc (3), |
| .BR mbtowc (3), |
| .BR wctob (3) |