iconv(3) Library Functions Manual iconv(3) iconv - (libc -lc) #include size_t iconv(iconv_t cd, char **restrict inbuf, size_t *restrict inbytesleft, char **restrict outbuf, size_t *restrict outbytesleft); iconv() . cd iconv_open(3) iconv() . inbuf inbytesleft . outbuf outbytesleft . inbuf NULL *inbuf NULL. iconv() *inbuf *outbuf. *inbytesleft *inbuf. *outbytesleft *outbuf. iconv() *inbuf *inbytesleft *outbuf *outbytesleft cd. iconv() . : o . errno EILSEQ (size_t) -1. *inbuf . o . . GNU C GNU libiconv cd //TRANSLIT //IGNORE : . //TRANSLIT . musl C '*' . FreeBSD NetBSD Solaris iconv() '?' . iconv() errno EILSEQ (size_t) -1. *inbuf . o *inbytesleft 0. iconv() . o . errno EINVAL (size_t) -1. *inbuf . o . errno E2BIG (size_t) -1. inbuf NULL *inbuf NULL outbuf NULL *outbuf NULL. iconv() cd *outbuf. *outbytesleft *outbuf. errno E2BIG (size_t) -1. *outbuf *outbytesleft . inbuf NULL *inbuf NULL outbuf NULL *outbuf NULL. iconv() cd . iconv() . iconv() (size_t) -1 errno . : E2BIG *outbuf. EILSEQ . EINVAL . attributes(7). +------------+------------------------------------+--------------------+ || | | +------------+------------------------------------+--------------------+ |iconv() | | MT-Safe race:cd | +------------+------------------------------------+--------------------+ iconv() (MT-Safe) cd. POSIX.1-2008. glibc 2.1. POSIX.1-2001. iconv() inbuf *inbuf NULL . inbuf outbuf char ** C : . . iconv() . . iconv_close(3) iconv_open(3) iconvconfig(8) 3 . . : . 6.18 8 2026 iconv(3)