strxfrm(3)

strxfrm3

Transform a string under locale

Usage

#include <string.h>

size_t

strxfrm(char *restrict s1, const char *restrict s2, size_t n);

#include <string.h>

#include <xlocale.h>

size_t

strxfrm_l(char *restrict s1, const char *restrict s2, size_t n, locale_t loc);

Library

Standard C Library (libc, -lc)

Overview

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

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

Although the strxfrm() function uses the current locale, the strxfrm_l() function may be passed a locale directly. See xlocale(3) for more information.

Return values

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

Releases

163 releases since Mac OS X 10.0; the text changed 4 times.

  1. 10.0–10.1.5
  2. 10.2–10.2.8
  3. 10.3–10.4.11
  4. 10.5–10.6.8
  5. 10.7–26.5

Standards

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

From Libc 1752.120.2 in macOS 26.5. Parsed by carta from the page's mdoc source.