man.bsd.lv manual page server

Manual Page Search Parameters

WCSXFRM(3) Library Functions Manual WCSXFRM(3)

wcsxfrm, wcsxfrm_ltransform a wide string under locale

library “libc”

#include <wchar.h>

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

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

The () 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 () after wcsxfrm() is equivalent to comparing two original strings with ().

The () function is identical to wcsxfrm() but takes an explicit locale argument, whereas wcsxfrm() uses the current global or per-thread locale.

Upon successful completion, wcsxfrm() and wcsxfrm_l() return 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 wcsxfrm_l() function conforms to IEEE Std 1003.1-2008 (“POSIX.1”).

The current implementation of wcsxfrm() and wcsxfrm_l() 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 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.

December 25, 2013 DragonFly-5.6.1