@node iscntrl @section @code{iscntrl} @findex iscntrl POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/iscntrl.html} Gnulib module: ctype Portability problems fixed by Gnulib: @itemize @item This function cannot be called from plain inline or extern inline functions on some platforms: OS X 10.8. @end itemize Portability problems not fixed by Gnulib: @itemize @end itemize Note: This function's behaviour depends on the locale, but does not support the multibyte characters that occur in strings in locales with @code{MB_CUR_MAX > 1} (this includes all the common UTF-8 locales). There are five alternative APIs: @table @code @item c_iscntrl This function operates in a locale independent way and returns true only for ASCII characters. It is provided by the Gnulib module @samp{c-ctype}. @item iswcntrl This function operates in a locale dependent way, on wide characters. In order to use it, you first have to convert from multibyte to wide characters, using the @code{mbrtowc} function. It is provided by the Gnulib module @samp{wctype}. @item c32iscntrl This function operates in a locale dependent way, on 32-bit wide characters. In order to use it, you first have to convert from multibyte to 32-bit wide characters, using the @code{mbrtoc32} function. It is provided by the Gnulib module @samp{c32iscntrl}. @item mb_iscntrl This function operates in a locale dependent way, on multibyte characters. It is provided by the Gnulib module @samp{mbchar}. @item uc_is_cntrl This function operates in a locale independent way, on Unicode characters. It is provided by the Gnulib module @samp{unictype/ctype-cntrl}. @end table