WCSXFRM(3)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1

🌸 NAME 🌸

okay so bestie, this is the WCSXFRM(3) Library Functions Manual page, and the function is wcsxfrm β€” transform a wide string under locale πŸ’…βœ¨

πŸŽ€ LIBRARY πŸŽ€

Standard C Library (libc, -lc) β€” that's the home base, periodt 🫢

πŸ¦‹ SYNOPSIS πŸ¦‹

#include <wchar.h>

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

✨ 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 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(). slay β€” that's literally the whole point, bestie πŸ’–

πŸ’– RETURN VALUES πŸ’–

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.

okay warning, bestie: if that return value is n or more, the contents of dst are indeterminate β€” do not trust them, no cap πŸ˜­πŸ’€

🌈 SEE ALSO 🌈

go read these too, iykyk πŸ“šβœ¨

⭐ STANDARDS ⭐

The wcsxfrm() function conforms to ISO/IEC 9899:1999 (β€œISO C99”). iconic standardization moment βœ¨πŸ‘‘

πŸ’€ 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 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.

this is the tea, bestie β€” not always equivalent, and that's on primary vs secondary weights πŸ“πŸ˜­


okay that's the whole WCSXFRM(3) page, bestie πŸ’– this one's from Debian, dated October 4, 2002 β€” mwah πŸ’‹

πŸ“¦ where this page comes from
  • freebsd 15.1: base 15.1
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms