STRXFRM(3)

NAME
strxfrm, strxfrm_l - transform a string under locale

LIBRARY
libc

SYNOPSIS
#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);

DESCRIPTION
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.

SEE ALSO
setlocale(3), strcmp(3), strcoll(3), wcsxfrm(3), xlocale(3)

STANDARDS
The strxfrm() function conforms to isoC.