iswalpha(3)

πŸ’– iswalpha β€” test for alphabetic wide character πŸ’–

okay bestie, scoot over, it's time for the iswalpha page and honestly? she's giving "quietly powerful side character who actually runs the whole show." let's go 🫢


πŸ“š LIBRARY

Standard C library (libc, -lc). she lives in libc, no cap.


✨ SYNOPSIS

#include <wctype.h>

int iswalpha(wint_t wc);

πŸ¦‹ DESCRIPTION

so like. iswalpha() is literally the wide-character equivalent of isalpha(3) β€” same energy, but for wide characters. she checks whether wc is a wide character that belongs to the wide-character class "alpha". that's the whole vibe check. that's her job. πŸ’…

and now for the lore, because the class hierarchy here is lowkey iconic:

  • the wide-character class "alpha" is a subclass of the wide-character class "alnum" β€” and therefore also a subclass of "graph" and of "print". yes, she's nested. she's layered. she contains multitudes. 🧚
  • since she's a subclass of "print", the wide-character class "alpha" is disjoint from the wide-character class "cntrl". not them. never them. πŸ’€
  • since she's a subclass of "graph", the wide-character class "alpha" is disjoint from the wide-character class "space" and its subclass "blank". no space energy here bestie, not even a little. 🚫
  • since she's a subclass of "alnum", the wide-character class "alpha" is disjoint from the wide-character class "punct". punctuation could NEVER. βœ‹
  • the wide-character class "alpha" is disjoint from the wide-character class "digit". numbers are cute but they are not letters and we keep that boundary firm. πŸ”’βž‘οΈπŸšͺ
  • the wide-character class "alpha" contains the wide-character classes "upper" and "lower". both. she holds them both. princess treatment. πŸ‘‘
  • and the wide-character class "alpha" always contains at least the letters 'A' to 'Z' and 'a' to 'z'. bare minimum, guaranteed, forever. 🌸

🌈 RETURN VALUE

  • if wc is a wide character belonging to the wide-character class "alpha" β†’ iswalpha() returns nonzero. slay. βœ…
  • otherwise β†’ it returns zero. not a letter, not her business. πŸ™ˆ

πŸ”₯ ATTRIBUTES

for the full explanation of what these terms even mean, peek at attributes(7). and since we're not doing tables here (tables are not the vibe today, do not perceive them), here's the info as a lil list:

  • Interface: iswalpha()
  • Attribute: Thread safety
  • Value: MT-Safe locale

so yeah, thread safe, but locale-dependent β€” remember that part, it comes back around. ⭐


πŸ‘‘ STANDARDS

C11, POSIX.1-2008. certified, standardized, glowing. πŸ’…


πŸ•°οΈ HISTORY

POSIX.1-2001, C99. she's been around. she's got history. literally, it's the section name.


πŸ“ NOTES

the behavior of iswalpha() depends on the LC_CTYPE category of the current locale. change your locale, change her answers. she's adaptable like that. 🌍✨


πŸ‘€ SEE ALSO


and that's the whole page bestie, go forth and character-classify responsibly πŸ’œ

Linux man-pages 6.20 Β· 2026-02-08 β€” mwah, ily, see u in the next manpage πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ 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