std::isalnum(std::locale)

From cppreference.com
< cpp‎ | locale
Defined in header <locale>
template< class charT >
bool isalnum( charT ch, const locale& loc );

Checks if the given character classified as an alphanumeric character by the given locale's std::ctype facet.

Contents

[edit] Parameters

ch - character
loc - locale

[edit] Return value

Returns true if the character is classified as alphanumeric, false otherwise.

[edit] Possible implementation

template< class charT >
bool isalnum( charT ch, const std::locale& loc ) {
    return std::use_facet<std::ctype<charT>>(loc).is(std::ctype_base::alnum, ch);
}

[edit] Example

Demonstrates the use of isalnum() with different locales (OS-specific).

#include <iostream>
#include <locale>
int main()
{
    const wchar_t c = L'\u2135'; // mathematical symbol aleph
 
    std::locale loc1("C");
    std::cout << "isalnum('ℵ', C locale) returned "
               << std::boolalpha << std::isalnum(c, loc1) << '\n';
 
    std::locale loc2("en_US.UTF-8");
    std::cout << "isalnum('ℵ', Unicode locale) returned "
              << std::boolalpha << std::isalnum(c, loc2) << '\n';
}

Output:

isalpha('ℵ​', C locale) returned false
isalpha('ℵ', Unicode locale) returned true

[edit] See also

checks if a character is alphanumeric
(function)
checks if a wide character is alphanumeric
(function)
This site archives manuals. You are looking at an archived manual.
If you're looking for this specific version of this manual, you're in the right place. Otherwise, please check the version.