Internationalization and localization tools


Character Manipulation Function

int isalnum(int c);

int iswalnum(wint_t c);

int _ismbcalnum(unsigned int c);

int _istalnum(_TINT c);

Internationalization (I18n) Function Overview

The isalnum function returns a non-zero value if either isalpha or isdigit is nonzero for c; in other words, if c is within the A-Z, a-z, or 0-9 ranges.

iswalnum is the wide character version of isalnum, testing the wide character c.

Supported only on Windows platforms, _ismbcalnum is the multibyte equivalent, treating c as a multibyte character and calling _ismbbalnum.

_istalnum is the Windows-only Generic version of the function; with the _MBCS or _UNICODE compiler flags determining its mapping to either _ismcbalnum or iswalnum.

I18n Issues

Use the appropriate version of the function as required for internationalization support, noting the following:

On ANSI platforms, there is no multibyte version of isalnum. Instead, convert the character c to a wide character and call iswalnum.

Prior to calling iswalnum on ANSI platforms, ensure that the locale is set correctly, since the result of the test condition depends on the locale's LC_CTYPE category setting. On Windows platforms, the iswalnum test is independent of locale.

The _ismbcalnum function depends on the multibyte code page in effect. By default, the multibyte code page is set to the system-default ANSI code page obtained from the operating system at program startup. Use _getmbcp and _setmbcp to query or change the current multibyte code page, respectively.

Recommended Replacements*

*If you're already using the recommended function, see I18n Issues for other reasons why Globalyzer is detecting the function.

Character Manipulation Functions

 

Lingoport internationalization and localization services and software