carta
isxdigit_l(3)

isxdigit_l3

Hexadecimal-digit character test

Part of ishexnumber(3).

Usage

int

int

int

int

Library

Standard C Library (libc, -lc)

Overview

The isxdigit() and isxdigit_l() functions test for any hexadecimal-digit character. Regardless of locale, this includes the following characters only:

``0''``1''``2''``3''``4''
``5''``6''``7''``8''``9''
``A''``B''``C''``D''``E''
``F''``a''``b''``c''``d''
``e''``f''

The ishexnumber() and ishexnumber_l() functions behave similarly to isxdigit() and isxdigit_l(), but may recognize additional characters, depending on the current locale setting.

The value of the argument must be representable as an unsigned char or the value of EOF.

The _l-suffixed versions take an explicit locale argument, whereas the non-suffixed versions use the current global or per-thread locale.

Return values

The isxdigit() and isxdigit_l() functions return zero if the character tests false and return non-zero if the character tests true.

Compatibility

The 4.4BSD extension of accepting arguments outside of the range of the unsigned char type in locales with large character sets is considered obsolete and may not be supported in future releases. The iswxdigit() or iswxdigit_l() function should be used instead.

History

  • FreeBSD 16.0-CURRENT (2026-10-27) to FreeBSD 15.0-RELEASE: the text shown here
  • FreeBSD 14.5-RELEASE to FreeBSD 13.3-RELEASE
  • FreeBSD 13.2-RELEASE

Standards

The isxdigit() function conforms to ISO/IEC 9899:1990 (“ISO C90”).

History

The ishexnumber() function appeared in 4.4BSD.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.