strxfrm(3C) LIBRARY FUNCTIONS strxfrm(3C)
NAME
strxfrm - string transformation
SYNOPSIS
#include <string.h>
sizet strxfrm (char *s1, const char *s2, sizet n);
DESCRIPTION
strxfrm transforms the string s2 and places the resulting
string into the array s1. The transformation is such that
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 LCCOLLATE [see
setlocale(3C)].
No more than n characters will be placed into the resulting
array pointed to by s1, including the terminating null char-
acter. If n is 0, then s1 is permitted to be a null pointer.
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 s1 are
indeterminate.
EXAMPLE
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);
FILES
/usr/lib/locale/locale/LCCOLLATE
LCCOLLATE database for locale.
SEE ALSO
colltbl(1M) in the System Administrator's Reference Manual.
setlocale(3C), strcoll(3C), string(3C), environ(5).
DIAGNOSTICS
On failure, strxfrm returns (sizet) -1.
1