SYNOPSIS

     #include <wchar.h>

     size_t
     wcsxfrm(wchar_t * restrict dst, const wchar_t * restrict src, size_t n);

     #include <xlocale.h>

     size_t
     wcsxfrm_l(wchar_t * restrict dst, const wchar_t * restrict src, size_t n,
         locale_t loc);


DESCRIPTION

     The wcsxfrm() function transforms a null-terminated wide character string
     pointed to by src according to the current locale collation order then
     copies the transformed string into dst.  No more than n wide characters
     are copied into dst, including the terminating null character added.  If
     n is set to 0 (it helps to determine an actual size needed for transfor-
     mation), dst is permitted to be a NULL pointer.

     Comparing two strings using wcscmp() after wcsxfrm() is equivalent to
     comparing two original strings with wcscoll().

     While the wcsxfrm() function uses the current locale, the wcsxfrm_l()
     function may be passed a locale directly. See xlocale(3) for more infor-
     mation.


RETURN VALUES

     Upon successful completion, wcsxfrm() returns the length of the trans-
     formed string not including the terminating null character.  If this
     value is n or more, the contents of dst are indeterminate.


SEE ALSO

     setlocale(3), strxfrm(3), wcscmp(3), wcscoll(3), xlocale(3)


STANDARDS

     The wcsxfrm() function conforms to ISO/IEC 9899:1999 (``ISO C99'').


BUGS

     The current implementation of wcsxfrm() only works in single-byte
     LC_CTYPE locales, and falls back to using wcsncpy() in locales with
     extended character sets.

     Comparing two strings using wcscmp() after wcsxfrm() is not always equiv-
     alent to comparison with wcscoll(); wcsxfrm() only stores information
     about primary collation weights into dst, whereas wcscoll() compares
     characters using both primary and secondary weights.

BSD                             October 4, 2002                            BSD

Man(1) output converted with man2html