STRXFRM(3)

NAME
strxfrm, strxfrm_l - transform a string under locale

SYNOPSIS
#include <string.h>
size_t
strxfrm(char *dst, const char *src, size_t n);
size_t
strxfrm_l(char *dst, const char *src, size_t n, locale_t locale);

DESCRIPTION
The idea of strxfrm() and strxfrm_l() is to “un-localize” a string: the functions transform src, storing the result in dst, such that strcmp(3) on transformed strings returns what strcoll(3) on the original untransformed strings would return.

On OpenBSD, both have the same effect as strlcpy(3), and the global locale, the thread-specific locale, and the locale argument are ignored. On other operating systems, the behaviour may depend on the LC_CTYPE and LC_COLLATE locale categories set with setlocale(3), uselocale(3), or newlocale(3).

SEE ALSO
newlocale(3), setlocale(3), strcmp(3), strcoll(3), strlcpy(3), wcsxfrm(3)

STANDARDS
The strxfrm() function conforms to ansiC, and strxfrm_l() to p1003.1-2008.

HISTORY
The strxfrm() function has been available since 4.3BSD Reno, and strxfrm_l() since OpenBSD 6.2.