strxfrm(3C) manual page
Table of Contents
strxfrm - string transformation
#include <string.h>
size_t strxfrm(char
*dst, const char *src, size_t n);
Safe with exceptions
strxfrm() transforms the string src and places the resulting string into
the array dst. If strcmp() is applied to two transformed strings, it will
return the same result as strcoll() applied to the same two original strings.
The transformation is based on the program’s locale for category LC_COLLATE
(see setlocale(3C)
).
No more than n bytes will be placed into the resulting
array pointed to by dst, including the terminating null character. If
n is 0 and dst is a NULL
parameter, strxfrm() returns the number of bytes
required for the transformed string. If copying takes place between objects
that overlap, the behavior is undefined.
strxfrm() returns the length of
the transformed string (not including the terminating null character).
If the value returned is n or more, the contents of the array dst are indeterminate.
On failure, strxfrm() returns (size_t)-1.
The value
of the following expression is the size of the array needed to hold the
transformation of the string pointed to by s.
1 + strxfrm(NULL, s, 0);
- /usr/lib/locale/locale/LC_COLLATE
- LC_COLLATE
database for locale
colltbl(1M)
, setlocale(3C)
, strcoll(3C)
,
string(3C)
, wscoll(3I)
, environ(5)
strxfrm can be used safely in a
multi-thread application, as long as setlocale(3C)
is not being called to
change the locale.
Table of Contents