wcsxfrm -- transform a wide string under locale
Standard C Library (libc, -lc)
wcsxfrm(wchar_t * restrict dst, const wchar_t * restrict src, size_t n);
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 transformation),
dst is permitted to be a NULL pointer.
Comparing two strings using wcscmp() after wcsxfrm() is equivalent to
comparing two original strings with wcscoll().
Upon successful completion, wcsxfrm() returns the length of the transformed
string not including the terminating null character. If this
value is n or more, the contents of dst are indeterminate.
setlocale(3), strxfrm(3), wcscmp(3), wcscoll(3)
The wcsxfrm() function conforms to ISO/IEC 9899:1999 (``ISO C99'').
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 equivalent
to comparison with wcscoll(); wcsxfrm() only stores information
about primary collation weights into dst, whereas wcscoll() compares
characters using both primary and secondary weights.
FreeBSD 5.2.1 October 4, 2002 FreeBSD 5.2.1 [ Back ]