iswalnum
From cppreference.com
C
Concurrency support (C11)
Null-terminated wide strings
Character manipulation
Conversions to numeric formats
String manipulation
Array manipulation
Types
Macros
iswalnum
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C99)
(C95)(C99)
(C99)(C95)(C99)
(C95)(C11)
(C95)(C11)
(C95)
(C95)(C95)
(C95)(C95)
(C95)
Defined in header
<wctype.h>
int iswalnum( wint_t ch );
(since C95)
Checks if the given wide character is an alphanumeric character, i.e. either a number (0123456789), an uppercase letter (ABCDEFGHIJKLMNOPQRSTUVWXYZ
), a lowercase letter (abcdefghijklmnopqrstuvwxyz
) or any alphanumeric character specific to the current locale.
[edit] Parameters
ch
-
wide character
[edit] Return value
Non-zero value if the wide character is an alphanumeric character, zero otherwise.
[edit] Notes
ISO 30112 specifies which Unicode characters are include in POSIX alnum category.
[edit] Example
Run this code
#include <stdio.h> #include <locale.h> #include <wchar.h> #include <wctype.h> int main(void) { wchar_t c = L'\u13ad'; // the Cherokee letter HA ('Ꭽ') printf ("in the default locale, iswalnum(%#x) = %d\n", c, !!iswalnum(c)); setlocale (LC_ALL, "en_US.utf8"); printf ("in Unicode locale, iswalnum(%#x) = %d\n", c, !!iswalnum(c)); }
Possible output:
in the default locale, iswalnum(0x13ad) = 0 in Unicode locale, iswalnum(0x13ad) = 1
[edit] References
- C23 standard (ISO/IEC 9899:2024):
- TBD The iswalnum function (p: TBD)
- C17 standard (ISO/IEC 9899:2018):
- 7.30.2.1.1 The iswalnum function (p: 327)
- C11 standard (ISO/IEC 9899:2011):
- 7.30.2.1.1 The iswalnum function (p: 448)
- C99 standard (ISO/IEC 9899:1999):
- 7.25.2.1.1 The iswalnum function (p: 394)
[edit] See also
C++ documentation for iswalnum
ASCII values | characters |
isalnum |
|||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
decimal | hexadecimal | octal | |||||||||||||
0–8 | \x0 –\x8
|
0円 –10円
|
control codes (NUL , etc.)
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
9 | \x9
|
11円
|
tab (\t )
|
≠0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
10–13 | \xA –\xD
|
12円 –15円
|
whitespaces (\n , \v , \f , \r )
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
14–31 | \xE –\x1F
|
16円 –37円
|
control codes | ≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
32 | \x20
|
40円
|
space | 0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
33–47 | \x21 –\x2F
|
41円 –57円
|
!"#$%&'()*+,-./
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
48–57 | \x30 –\x39
|
60円 –71円
|
0123456789
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
≠0
|
≠0
|
58–64 | \x3A –\x40
|
72円 –100円
|
:;<=>?@
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
65–70 | \x41 –\x46
|
101円 –106円
|
ABCDEF
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
≠0
|
71–90 | \x47 –\x5A
|
107円 –132円
|
GHIJKLMNOP QRSTUVWXYZ
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
91–96 | \x5B –\x60
|
133円 –140円
|
[\]^_`
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
97–102 | \x61 –\x66
|
141円 –146円
|
abcdef
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
≠0
|
103–122 | \x67 –\x7A
|
147円 –172円
|
ghijklmnop qrstuvwxyz
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
0
|
123–126 | \x7B –\x7E
|
173円 –176円
|
{|}~
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
127 | \x7F
|
177円
|
backspace character (DEL )
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|