strxfrm_l(3)

strxfrm_l3

Transform a string under locale

Part of strxfrm(3).

Usage

#include <string.h>

size_t

strxfrm(char * restrict dst, const char * restrict src, size_t n);

size_t

strxfrm_l(char * restrict dst, const char *restrict src, size_t n, locale_t loc);

Library

Standard C Library (libc, -lc)

Overview

The strxfrm() function transforms a null-terminated string pointed to by src according to the current locale collation if any, then copies the transformed string into dst. Not more than n characters are copied into dst, including the terminating null character added. If n is set to 0 (it helps to determine an actual size needed for transformation), dst is permitted to be a NULL pointer.

Comparing two strings using strcmp() after strxfrm() is equal to comparing two original strings with strcoll().

strxfrm_l() does the same, however takes an explicit locale rather than the global locale.

Return values

Upon successful completion, strxfrm() and strxfrm_l() return the length of the transformed string not including the terminating null character. If this value is n or more, the contents of dst are indeterminate.

Releases

33 releases since FreeBSD 9.1-RELEASE; the text changed 20 times.

  1. 9.1
  2. 9.2
  3. 9.3
  4. 10.0
  5. 10.1
  6. 10.2
  7. 10.3
  8. 10.4
  9. 11.0
  10. 11.1
  11. 11.2
  12. 11.3
  13. 11.4
  14. 12.0
  15. 12.1
  16. 12.2
  17. 12.3
  18. 12.4
  19. 13.0–13.2
  20. 13.3–14.5
  21. 15.0–16.0

Standards

The strxfrm() function conforms to ISO/IEC 9899:1990 (“ISO C90”). The strxfrm_l() function conforms to IEEE Std 1003.1-2008 (“POSIX.1”).

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