---
name: "iswalnum"
section: "3"
platform: "macos"
package: "Libc"
version: "1752.120.2"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/iswalnum"
---

# iswalnum(3)

wide character classification utilities

## NAME

**iswalnum**, **iswalpha**, **iswascii**, **iswblank**, **iswcntrl**, **iswdigit**, **iswgraph**, **iswhexnumber**, **iswideogram**, **iswlower**, **iswnumber**, **iswphonogram**, **iswprint**, **iswpunct**, **iswrune**, **iswspace**, **iswspecial**, **iswupper**, **iswxdigit** – wide character classification utilities

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<wctype.h\>**

*int*\

**iswalnum**(*wint\_t wc*);

*int*\

**iswalpha**(*wint\_t wc*);

*int*\

**iswascii**(*wint\_t wc*);

*int*\

**iswblank**(*wint\_t wc*);

*int*\

**iswcntrl**(*wint\_t wc*);

*int*\

**iswdigit**(*wint\_t wc*);

*int*\

**iswgraph**(*wint\_t wc*);

*int*\

**iswhexnumber**(*wint\_t wc*);

*int*\

**iswideogram**(*wint\_t wc*);

*int*\

**iswlower**(*wint\_t wc*);

*int*\

**iswnumber**(*wint\_t wc*);

*int*\

**iswphonogram**(*wint\_t wc*);

*int*\

**iswprint**(*wint\_t wc*);

*int*\

**iswpunct**(*wint\_t wc*);

*int*\

**iswrune**(*wint\_t wc*);

*int*\

**iswspace**(*wint\_t wc*);

*int*\

**iswspecial**(*wint\_t wc*);

*int*\

**iswupper**(*wint\_t wc*);

*int*\

**iswxdigit**(*wint\_t wc*);

## DESCRIPTION

The above functions are character classification utility functions, for use with wide characters (*wchar\_t* or *wint\_t*). See the description for the similarly-named single byte classification functions (such as [isalnum(3)](/isalnum/3.md)), for details.

Extended locale versions of these functions are documented in [iswalnum\_l(3)](/iswalnum_l/3.md). See [xlocale(3)](/xlocale/3.md) for more information.

## RETURN VALUES

The functions return zero if the character tests false and return non-zero if the character tests true.

## SEE ALSO

[isalnum(3)](/isalnum/3.md), [isalpha(3)](/isalpha/3.md), [isascii(3)](/isascii/3.md), [isblank(3)](/isblank/3.md), [iscntrl(3)](/iscntrl/3.md), [isdigit(3)](/isdigit/3.md), [isgraph(3)](/isgraph/3.md), [ishexnumber(3)](/ishexnumber/3.md), [isideogram(3)](/isideogram/3.md), [islower(3)](/islower/3.md), [isnumber(3)](/isnumber/3.md), [isphonogram(3)](/isphonogram/3.md), [isprint(3)](/isprint/3.md), [ispunct(3)](/ispunct/3.md), [isrune(3)](/isrune/3.md), [isspace(3)](/isspace/3.md), [isspecial(3)](/isspecial/3.md), [isupper(3)](/isupper/3.md), [iswalnum\_l(3)](/iswalnum_l/3.md), [isxdigit(3)](/isxdigit/3.md), [wctype(3)](/wctype/3.md)

## STANDARDS

These functions conform to IEEE Std 1003.1-2001 (“POSIX.1”), except **iswascii**(), **iswhexnumber**(), **iswideogram**(), **iswnumber**(), **iswphonogram**(), **iswrune**(), and **iswspecial**(), which are FreeBSD extensions.

## CAVEATS

The result of these functions is undefined unless the argument is WEOF or a valid *wchar\_t* value for the current locale.
