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
ANSI X3.159-1989 (“ANSI C89”),
and strxfrm_l
() to IEEE Std
1003.1-2008 (“POSIX.1”).
HISTORY
The strxfrm
() function has been available
since 4.3BSD-Reno, and
strxfrm_l
() since OpenBSD
6.2.