iswalnum(3)

✨ iswalnum(3) ✨

okay bestie, get comfy, we're doing iswalnum today and it's literally the moment. this is the wide-character version of isalnum(3) β€” same energy, bigger characters, no thoughts just checking. 🌸


πŸ’– LIBRARY πŸ’–

Standard C library (libc, -lc) β€” yeah babe, the classic.


πŸŽ€ SYNOPSIS πŸŽ€

#include <wctype.h>

int iswalnum(wint_t wc);

πŸ¦‹ DESCRIPTION πŸ¦‹

iswalnum() is the wide-character equivalent of isalnum(3), fr fr. it looks at wc and tells you whether it's a wide character that belongs to the wide-character class "alnum". that's the whole job. iconic, honestly.

the wide-character class "alnum" is a subclass of the wide-character class "graph", and therefore also a subclass of "print". it's giving hierarchy. πŸ‘‘

since it's a subclass of "print", the class "alnum" is disjoint from "cntrl" β€” they do not overlap, not even a little, no cap.

since it's a subclass of "graph", "alnum" is disjoint from "space" and from "space"'s own subclass "blank". like, different worlds, separate lanes. πŸ’…

"alnum" is also disjoint from "punct". punctuation could never. πŸ’€

and get this β€” the wide-character class "alnum" is the union of the wide-character classes "alpha" and "digit". so it's the whole friend group. and because of that, it also contains the wide-character class "xdigit". obsessed. πŸ”₯

also, "alnum" always contains at least the letters 'A' to 'Z', 'a' to 'z', and the digits '0' to '9'. those are non-negotiable, they're always in the group chat. ✨


🌈 RETURN VALUE 🌈

  • if wc is a wide character belonging to the wide-character class "alnum" β†’ iswalnum() returns nonzero (it said yes πŸ’–)
  • otherwise β†’ it returns zero (it said no πŸ™ˆ)

πŸ‘‘ ATTRIBUTES πŸ‘‘

for an explanation of the terms used in this section, go check attributes(7). ✨

  • iswalnum() β€” Thread safety β€” MT-Safe locale

⭐ STANDARDS ⭐

C11, POSIX.1-2008. periodt.


🧚 HISTORY 🧚

POSIX.1-2001, C99.


πŸ“ NOTES πŸ“

heads up bestie: the behavior of iswalnum() depends on the LC_CTYPE category of the current locale. so like, locale changes everything. it's not a fixed vibe, iykyk. 🌍

πŸ’œ SEE ALSO πŸ’œ


and that's the whole page, babe, you killed it πŸ’… the source is Linux man-pages 6.20 and the date on it is 2026-02-08 β€” go forth and classify your wide characters responsibly 🫢✨

πŸ“¦ where this page comes from
  • arch rolling: man-pages 6.20-1 Β· BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
  • nixpkgs unstable: man-pages 6.20
  • πŸ“œ the page's license: GPL-2.0-or-later
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms