WCTYPE(3POSIX)

🌸 WCTYPE πŸ’…

ok so bestie, this one is WCTYPE(3POSIX) from the POSIX Programmer's Manual, and we're about to make character classes make sense. periodt. ✨


🫢 PROLOG

This manual page is part of the POSIX Programmer's Manual. Heads up though β€” the Linux implementation of this interface may differ (so go check the corresponding Linux manual page for the deets on Linux behavior), or the interface may not even be implemented on Linux at all. iykyk. πŸ’€


✨ NAME ✨

wctype, wctype_l β€” define character class 🌈


πŸŽ€ SYNOPSIS πŸŽ€

#include <wctype.h>

wctype_t wctype(const char *property);
wctype_t wctype_l(const char *property, locale_t locale);

πŸ’– DESCRIPTION πŸ’–

ok so for wctype(): the functionality described on this reference page is aligned with the ISO C standard. If there's any conflict between the requirements described here and the ISO C standard, that conflict is unintentional β€” not us starting drama. This volume of POSIX.1‐2017 defers to the ISO C standard, no cap.

The wctype() and wctype_l() functions are defined for valid character class names as defined in the current locale or in the locale represented by locale, respectively. πŸ¦‹

The property argument is a string identifying a generic character class for which codeset-specific type information is required. The following character class names shall be defined in all locales:

  • alnum
  • digit
  • punct
  • alpha
  • graph
  • space
  • blank
  • lower
  • upper
  • cntrl
  • print
  • xdigit

Additional character class names defined in the locale definition file (category LC_CTYPE) can also be specified. so you're not limited to the classics, bestie. πŸ’…

These functions shall return a value of type wctype_t, which can be used as the second argument to subsequent calls of iswctype() and iswctype_l(). it's giving "reusable token energy". πŸ”₯

The wctype() and wctype_l() functions shall determine values of wctype_t according to the rules of the coded character set defined by character type information in the current locale or in the locale represented by locale, respectively (category LC_CTYPE).

The values returned by wctype() shall be valid until a call to setlocale() that modifies the category LC_CTYPE. ⏳

The values returned by wctype_l() shall be valid only in calls to iswctype_l() with a locale represented by locale with the same LC_CTYPE category value. like, match made in heaven or it doesn't count. πŸ’ž

ok real talk bestie, this next bit matters: the behavior is undefined if the locale argument to wctype_l() is the special locale object LC_GLOBAL_LOCALE or is not a valid locale object handle. don't do it. not even once. 🚫

⭐ RETURN VALUE ⭐

The wctype() and wctype_l() functions shall return 0 if the given character class name is not valid for the current locale (category LC_CTYPE); otherwise, they shall return an object of type wctype_t that can be used in calls to iswctype() and iswctype_l(). slay. πŸ’…


🌸 ERRORS 🌸

No errors are defined. iconic, honestly. ✨

The following sections are informative.


πŸ¦‹ EXAMPLES πŸ¦‹

None. (bestie we have no examples, we're just vibing πŸ™ˆ)


πŸ’œ APPLICATION USAGE πŸ’œ

None.


🧚 RATIONALE 🧚

None.


🌈 FUTURE DIRECTIONS 🌈

None.


πŸ‘‘ SEE ALSO πŸ‘‘

  • iswctype()
  • The Base Definitions volume of POSIX.1‐2017, <wctype.h>

Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .


ok that's the whole thing bestie, you ate that 🫢 this was IEEE/The Open Group, 2017, page WCTYPE(3POSIX) β€” go forth and classify characters, main character energy only. πŸ’…βœ¨πŸŽ€