The Unicode routines are easily accessible in the C and C++ languages if you include the appropriate header files and use the appropriate LOCALETYPE option on the C or C++ compilation command. The Unicode routines are accessible from other ILE languages, such as RPG, COBOL, and CL, although no header files are provided for these languages.
The following table shows the routines added for UCS-2 support. The support routines have a prefix of _UCS2_ or _C_UCS2_ added to the standard routine name. The Unicode routine has the same parameters as the standard (non-Unicode) routine.
_C_UCS2_btowc _C_UCS2_fgetwc _C_UCS2_fgetws _C_UCS2_fprintf _C_UCS2_fputwc _C_UCS2_fputws _C_UCS2_fscanf _C_UCS2_fwprintf _C_UCS2_fwscanf _C_UCS2_getwc _C_UCS2_getwchar _C_UCS2_iswalnum _C_UCS2_iswalpha _C_UCS2_iswcntrl _C_UCS2_iswctype _C_UCS2_iswdigit _C_UCS2_iswgraph _C_UCS2_iswlower _C_UCS2_iswprint _C_UCS2_iswpunct |
_C_UCS2_iswspace _C_UCS2_iswupper _C_UCS2_iswxdigit _C_UCS2_mblen _C_UCS2_mbrlen _C_UCS2_mbrtowc _C_UCS2_mbsinit _C_UCS2_mbsrtowcs _C_UCS2_printf _C_UCS2_putwc _C_UCS2_putwchar _C_UCS2_scanf _C_UCS2_snprintf _C_UCS2_sprintf _C_UCS2_sscanf _C_UCS2_swprintf _C_UCS2_swscanf _C_UCS2_towlower _C_UCS2_towupper _C_UCS2_ungetwc |
_C_UCS2_vfprintf _C_UCS2_vfscanf _C_UCS2_vfwprintf _C_UCS2_vfwscanf _C_UCS2_vprintf _C_UCS2_vscanf _C_UCS2_vsnprintf _C_UCS2_vsprintf _C_UCS2_vsscanf _C_UCS2_vswprintf _C_UCS2_vswscanf _C_UCS2_vwprintf _C_UCS2_vwscanf _C_UCS2_wcsftime _C_UCS2_wcsicmp _C_UCS2_wcslocaleconv _C_UCS2_wcsnicmp _C_UCS2_wcsrtombs _C_UCS2_wcstod32 _C_UCS2_wcstod64 |
_C_UCS2_wcstod128 _C_UCS2_wctob _C_UCS2_wprintf _C_UCS2_wscanf _UCS2_mbstowcs _UCS2_mbtowc _UCS2_setlocale _UCS2_wcrtomb _UCS2_wcstod _UCS2_wcstol _UCS2_wcstoll _UCS2_wcstombs _UCS2_wcstoul _UCS2_wcstoull _UCS2_wcswidth _UCS2_wctomb _UCS2_wcwidth |
When you use the LOCALETYPE(*LOCALEUCS2) option with either the C or C++ compiler, the default UCS-2 locale is loaded when the program starts. When you use any of the Unicode routines in the preceding table from a different language, a call to _UCS2_setlocale(LC_ALL, "") should be added when the application starts to ensure that the default UCS2 locale is loaded.
The following table shows the routines added for CCSID neutral and UTF-8 support. The routines have a prefix of _C_NEU_DM_ (for data management I/O functions), _C_NEU_IFS_ or _C_UTF_IFS (for IFS I/O functions), or _C_NEU_ or _C_UTF_ added to the standard routine name. The Unicode routine has the same parameters as the standard (non-Unicode) routine.
Routines that operate on wide characters have UTF in the prefix. Routines that do not operate on wide characters have NEU in the prefix.
_C_NEU_asctime _C_NEU_asctime_r _C_NEU_atof _C_NEU_atoi _C_NEU_catopen _C_NEU_ctime _C_NEU_ctime_r _C_NEU_ctime64 _C_NEU_ctime64_r _C_NEU_DM_clearerr _C_NEU_DM_feof _C_NEU_DM_ferror _C_NEU_DM_fflush _C_NEU_DM_fgetc _C_NEU_DM_fgetpos _C_NEU_DM_fgets _C_NEU_DM_fopen _C_NEU_DM_fprintf _C_NEU_DM_fputc _C_NEU_DM_fputs _C_NEU_DM_fread _C_NEU_DM_freopen _C_NEU_DM_fscanf _C_NEU_DM_fseek _C_NEU_DM_fsetpos _C_NEU_DM_ftell _C_NEU_DM_fwrite _C_NEU_DM_getc _C_NEU_DM_getchar _C_NEU_DM_gets _C_NEU_DM_perror _C_NEU_DM_printf _C_NEU_DM_putc _C_NEU_DM_putchar _C_NEU_DM_puts _C_NEU_DM_remove _C_NEU_DM_rename _C_NEU_DM_rewind _C_NEU_DM_ropen _C_NEU_DM_scanf _C_NEU_DM_setbuf _C_NEU_DM_setvbuf _C_NEU_DM_tmpfile _C_NEU_DM_tmpnam _C_NEU_DM_ungetc _C_NEU_DM_vfprintf _C_NEU_DM_vfscanf _C_NEU_DM_vprintf _C_NEU_DM_vscanf _C_NEU_gcvt _C_NEU_gmtime _C_NEU_gmtime_r _C_NEU_IFS_clearerr _C_NEU_IFS_fdopen _C_NEU_IFS_feof _C_NEU_IFS_ferror _C_NEU_IFS_fflush _C_NEU_IFS_fgetc |
_C_NEU_IFS_fgetpos _C_NEU_IFS_fgetpos64 _C_NEU_IFS_fgets _C_NEU_IFS_fopen _C_NEU_IFS_fopen64 _C_NEU_IFS_fprintf _C_NEU_IFS_fputc _C_NEU_IFS_fputs _C_NEU_IFS_fread _C_NEU_IFS_freopen _C_NEU_IFS_freopen64 _C_NEU_IFS_fscanf _C_NEU_IFS_fseek _C_NEU_IFS_fseeko _C_NEU_IFS_fseeko64 _C_NEU_IFS_fsetpos _C_NEU_IFS_fsetpos64 _C_NEU_IFS_ftell _C_NEU_IFS_ftello _C_NEU_IFS_ftello64 _C_NEU_IFS_fwrite _C_NEU_IFS_getc _C_NEU_IFS_getchar _C_NEU_IFS_gets _C_NEU_IFS_perror _C_NEU_IFS_printf _C_NEU_IFS_putc _C_NEU_IFS_putchar _C_NEU_IFS_puts _C_NEU_IFS_remove _C_NEU_IFS_rename_keep _C_NEU_IFS_rename_unlink _C_NEU_IFS_rewind _C_NEU_IFS_scanf _C_NEU_IFS_setbuf _C_NEU_IFS_setvbuf _C_NEU_IFS_tmpfile _C_NEU_IFS_tmpfile64 _C_NEU_IFS_tmpnam _C_NEU_IFS_ungetc _C_NEU_IFS_vfprintf _C_NEU_IFS_vfscanf _C_NEU_IFS_vprintf _C_NEU_IFS_vscanf _C_NEU_isalnum _C_NEU_isalpha _C_NEU_iscntrl _C_NEU_isdigit _C_NEU_isgraph _C_NEU_islower _C_NEU_isprint _C_NEU_ispunct _C_NEU_isspace _C_NEU_isupper _C_NEU_isxdigit _C_NEU_itoa _C_NEU_localeconv _C_NEU_localtime |
_C_NEU_localtime_r _C_NEU_localtime64 _C_NEU_localtime64_r _C_NEU_ltoa _C_NEU_memicmp _C_NEU_mktime _C_NEU_mktime64 _C_NEU_nl_langinfo _C_NEU_snprintf _C_NEU_sprintf _C_NEU_sscanf _C_NEU_strcasecmp _C_NEU_strchr _C_NEU_strcspn _C_NEU_strerror _C_NEU_strfmon _C_NEU_strftime _C_NEU_strncasecmp _C_NEU_strpbrk _C_NEU_strptime _C_NEU_strrchr _C_NEU_strspn _C_NEU_strtod _C_NEU_strtod32 _C_NEU_strtod64 _C_NEU_strtod128 _C_NEU_strtof _C_NEU_strtok _C_NEU_strtok_r _C_NEU_strtol _C_NEU_strtold _C_NEU_strtoll _C_NEU_strtoul _C_NEU_strtoull _C_NEU_system _C_NEU_toascii _C_NEU_tolower _C_NEU_toupper _C_NEU_ultoa _C_NEU_vsnprintf _C_NEU_vsprintf _C_NEU_vsscanf _C_NEU_wctrans _C_NEU_wctype _C_UTF_btowc _C_UTF_IFS_fgetwc _C_UTF_IFS_fgetws _C_UTF_IFS_fputwc _C_UTF_IFS_fputws _C_UTF_IFS_fwprintf _C_UTF_IFS_fwscanf _C_UTF_IFS_getwc _C_UTF_IFS_getwchar _C_UTF_IFS_putwc _C_UTF_IFS_putwchar _C_UTF_IFS_ungetwc _C_UTF_IFS_vfwprintf _C_UTF_IFS_vfwscanf |
_C_UTF_IFS_vwprintf _C_UTF_IFS_vwscanf _C_UTF_IFS_wfopen _C_UTF_IFS_wfopen64 _C_UTF_IFS_wprintf _C_UTF_IFS_wscanf _C_UTF_isalnum _C_UTF_isalpha _C_UTF_isascii _C_UTF_iscntrl _C_UTF_isdigit _C_UTF_isgraph _C_UTF_islower _C_UTF_isprint _C_UTF_ispunct _C_UTF_isspace _C_UTF_isupper _C_UTF_iswalnum _C_UTF_iswalpha _C_UTF_iswcntrl _C_UTF_iswctype _C_UTF_iswdigit _C_UTF_iswgraph _C_UTF_iswlower _C_UTF_iswprint _C_UTF_iswpunct _C_UTF_iswspace _C_UTF_iswupper _C_UTF_iswxdigit _C_UTF_isxdigit _C_UTF_mblen _C_UTF_mbrlen _C_UTF_mbrtowc |
_C_UTF_mbsinit _C_UTF_mbsrtowcs _C_UTF_mbstowcs _C_UTF_mbtowc _C_UTF_regcomp _C_UTF_regerror _C_UTF_regexec _C_UTF_setlocale _C_UTF_strcoll _C_UTF_strxfrm _C_UTF_swprintf _C_UTF_swscanf _C_UTF_toascii _C_UTF_tolower _C_UTF_toupper _C_UTF_towctrans _C_UTF_towlower _C_UTF_towupper _C_UTF_vswprintf _C_UTF_vswscanf _C_UTF_wcrtomb _C_UTF_wcscat _C_UTF_wcschr _C_UTF_wcscmp _C_UTF_wcscoll _C_UTF_wcscpy _C_UTF_wcscspn _C_UTF_wcsfmon _C_UTF_wcsftime _C_UTF_wcsicmp _C_UTF_wcslen _C_UTF_wcslocaleconv _C_UTF_wcsncat |
_C_UTF_wcsncmp _C_UTF_wcsncpy _C_UTF_wcsnicmp _C_UTF_WCS_nl_langinfo _C_UTF_wcspbrk _C_UTF_wcsptime _C_UTF_wcsrchr _C_UTF_wcsrtombs _C_UTF_wcsspn _C_UTF_wcsstr _C_UTF_wcstod _C_UTF_wcstod32 _C_UTF_wcstod64 _C_UTF_wcstod128 _C_UTF_wcstok _C_UTF_wcstol _C_UTF_wcstoll _C_UTF_wcstombs _C_UTF_wcstoul _C_UTF_wcstoull _C_UTF_wcswcs _C_UTF_wcswidth _C_UTF_wcsxfrm _C_UTF_wctob _C_UTF_wctomb _C_UTF_wcwidth _C_UTF_wmemchr _C_UTF_wmemcmp _C_UTF_wmemcpy _C_UTF_wmemmove _C_UTF_wmemset |
When you use the LOCALETYPE(*LOCALEUTF) option with either the C or C++ compiler, the default UTF locale is loaded at program startup time. If you use any of the Unicode routines in the preceding table from a different language, a call to _C_UTF_setlocale(LC_ALL, "") should be added when the application starts to ensure that the default UTF locale is loaded.