mbrtowc(3) Library Functions Manual mbrtowc(3) mbrtowc - (libc -lc) #include size_t mbrtowc(size_t n; wchar_t *restrict pwc, const char s[restrict n], size_t n, mbstate_t *restrict ps); s pwc . mbrtowc() n s *pwc. *ps. L'\0' ( ) s. L'\0' *ps 0. n s mbrtowc() (size_t) -2. n >= MB_CUR_MAX . s mbrtowc() (size_t) -1 errno EILSEQ. *ps . s pwc . mbrtowc() . s . pwc n. *ps mbrtowc() (size_t) -1 errno EILSEQ *ps . mbrtowc() *ps 0. ps mbrtowc() . *ps mbstate_t . mbstate_t a memset(&a, 0, sizeof(a)); mbrtowc() s L'\0'. 0 L'\0'. (size_t) -1 errno EILSEQ . (size_t) -2 n . attributes(7). +----+------------------------------------+----------------------------+ || | | +----+------------------------------------+----------------------------+ |mbrtowc()| | MT-Unsafe race:mbrtowc/!ps | | | | | +----+------------------------------------+----------------------------+ C11, POSIX.1-2008. POSIX.1-2001 C99. mbrtowc() LC_CTYPE . mbsinit(3), mbsrtowcs(3) 3 . . : . 6.18 8 2026 mbrtowc(3)