---
name: "ctype_l"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd", "macos"]
url: "https://new.carta.tech/ctype_l"
---

# ctype\_l(3)

character classification functions

## NAME

**digittoint\_l**, **isalnum\_l**, **isalpha\_l**, **isblank\_l**, **iscntrl\_l**, **isdigit\_l**, **isgraph\_l**, **ishexnumber\_l**, **isideogram\_l**, **islower\_l**, **isnumber\_l**, **isphonogram\_l**, **isprint\_l**, **ispunct\_l**, **isrune\_l**, **isspace\_l**, **isspecial\_l**, **isupper\_l**, **isxdigit\_l**, **tolower\_l**, **toupper\_l** – character classification functions

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

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

*int*\

**digittoint\_l**(*int c*, *locale\_t loc*);

*int*\

**isalnum\_l**(*int c*, *locale\_t loc*);

*int*\

**isalpha\_l**(*int c*, *locale\_t loc*);

*int*\

**iscntrl\_l**(*int c*, *locale\_t loc*);

*int*\

**isdigit\_l**(*int c*, *locale\_t loc*);

*int*\

**isgraph\_l**(*int c*, *locale\_t loc*);

*int*\

**ishexnumber\_l**(*int c*, *locale\_t loc*);

*int*\

**isideogram\_l**(*int c*, *locale\_t loc*);

*int*\

**islower\_l**(*int c*, *locale\_t loc*);

*int*\

**isnumber\_l**(*int c*, *locale\_t loc*);

*int*\

**isphonogram\_l**(*int c*, *locale\_t loc*);

*int*\

**isspecial\_l**(*int c*, *locale\_t loc*);

*int*\

**isprint\_l**(*int c*, *locale\_t loc*);

*int*\

**ispunct\_l**(*int c*, *locale\_t loc*);

*int*\

**isrune\_l**(*int c*, *locale\_t loc*);

*int*\

**isspace\_l**(*int c*, *locale\_t loc*);

*int*\

**isupper\_l**(*int c*, *locale\_t loc*);

*int*\

**isxdigit\_l**(*int c*, *locale\_t loc*);

*int*\

**tolower\_l**(*int c*, *locale\_t loc*);

*int*\

**toupper\_l**(*int c*, *locale\_t loc*);

## DESCRIPTION

The above functions perform character tests and conversions on the integer *c* in the locale *loc*. They behave in the same way as the versions without the \_l suffix, but use the specified locale rather than the global or per-thread locale. ⟨ctype.h⟩, or as true functions in the C library. See the specific manual pages for more information.

## SEE ALSO

[digittoint\_l(3)](/digittoint_l/3.md), [isalnum\_l(3)](/isalnum_l/3.md), [isalpha\_l(3)](/isalpha_l/3.md), [isblank\_l(3)](/isblank_l/3.md), [iscntrl\_l(3)](/iscntrl_l/3.md), [isdigit\_l(3)](/isdigit_l/3.md), [isgraph\_l(3)](/isgraph_l/3.md), [isideogram\_l(3)](/isideogram_l/3.md), [islower\_l(3)](/islower_l/3.md), [isphonogram\_l(3)](/isphonogram_l/3.md), [isprint\_l(3)](/isprint_l/3.md), [ispunct\_l(3)](/ispunct_l/3.md), [isrune\_l(3)](/isrune_l/3.md), [isspace\_l(3)](/isspace_l/3.md), [isspecial\_l(3)](/isspecial_l/3.md), [isupper\_l(3)](/isupper_l/3.md), [isxdigit\_l(3)](/isxdigit_l/3.md), [tolower\_l(3)](/tolower_l/3.md), [toupper\_l(3)](/toupper_l/3.md), [wctype\_l(3)](/wctype_l/3.md), xlocale\_l(3)

## STANDARDS

These functions conform to IEEE Std 1003.1-2008 (“POSIX.1”), except for **digittoint\_l**(), **ishexnumber\_l**(), **isideogram\_l**(), **isnumber\_l**(), **isphonogram\_l**(), **isrune\_l**() and **isspecial\_l**() which are FreeBSD extensions.
