STRXFRM(3) | Library Functions Manual | STRXFRM(3) |
strxfrm
, strxfrm_l
— transform a string under locale
#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);
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).
newlocale(3), setlocale(3), strcmp(3), strcoll(3), strlcpy(3), wcsxfrm(3)
The strxfrm
() function conforms to
ANSI X3.159-1989 (“ANSI C89”),
and strxfrm_l
() to IEEE Std
1003.1-2008 (“POSIX.1”).
The strxfrm
() function has been available
since 4.3BSD-Reno, and
strxfrm_l
() since OpenBSD
6.2.
January 18, 2019 | OpenBSD-current |