iswlower(3)

πŸ’– iswlower(3) β€” bestie's guide to lowercase wide characters πŸ’–

okay so real quick before we dive in: this is the manual page for iswlower(3), and yes she is a wide-character girlie πŸ’…


🌸 NAME 🌸

iswlower β€” test for lowercase wide character

πŸ“š LIBRARY πŸ“š

Standard C library (libc, -lc)

✨ SYNOPSIS ✨

#include <wctype.h>

int iswlower(wint_t wc);

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so iswlower() is literally the wide-character equivalent of the islower(3) function. no cap. what it does is test whether wc is a wide character that belongs to the wide-character class "lower". that's it, that's the job 🫢

now here's the family tree moment, because "lower" is NOT out here alone, she's nested πŸ’…:

  • the wide-character class "lower" is a subclass of the wide-character class "alpha", and therefore also a subclass of "alnum", of "graph", and of "print". iconic lineage honestly πŸ‘‘

and because of that nesting, she's automatically disjoint from a whole bunch of other classes:

  • being a subclass of "print", the class "lower" is disjoint from the class "cntrl"
  • being a subclass of "graph", the class "lower" is disjoint from the class "space" and its subclass "blank"
  • being a subclass of "alnum", the class "lower" is disjoint from the class "punct"
  • being a subclass of "alpha", the class "lower" is disjoint from the class "digit"

so what's actually in there? the wide-character class "lower" contains at least those characters wc which are equal to towlower(wc) and different from towupper(wc). that's the vibe check βœ…

and the bare minimum she always has? the wide-character class "lower" always contains at least the letters 'a' to 'z'. periodt. πŸ“

πŸŽ€ RETURN VALUE πŸŽ€

iswlower() returns nonzero if wc is a wide character belonging to the wide-character class "lower". otherwise? it returns zero. simple as that, bestie πŸ’–

πŸ”₯ ATTRIBUTES πŸ”₯

for the explanation of the terms used in this section, go peek at attributes(7) β€” iykyk.

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

🌈 STANDARDS 🌈

C11, POSIX.1-2008. she's certified ✨

πŸ’œ HISTORY πŸ’œ

POSIX.1-2001, C99. she's been around, she's a legend, she's the blueprint πŸ•°οΈ

⭐ NOTES ⭐

okay so heads up: the behavior of iswlower() depends on the LC_CTYPE category of the current locale. so like, know your locale before you come for her πŸ’€

and ngl, this function is not very appropriate for dealing with Unicode characters, because Unicode knows about three cases: upper, lower, and title case. so iswlower() is out here living in a two-case world while Unicode is doing three. not her fault, just the lore πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

islower(3), iswctype(3), towlower(3)


that's the whole page bestie, go forth and lowercase πŸŒΈπŸ’…

this was Linux man-pages 6.20, dated 2026-02-08 β€” ily, stan the man-pages maintainers 🫢

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