Name

wcsxfrm - wide-character string transformation

Library

libc.lib

Synopsis

  #include <wchar.h>
  size_t wcsxfrm (wchar_t * restrict dst, const wchar_t * restrict src, size_t n);

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.

Detailed 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.


Examples

#include <stdlib.h>
#include <wchar.h>
/* Illustrates how to use wcpcpy API */
int example_wcpcpy()
{ 
  /* input string for which length to be found */
 wchar_t *src = L"testcase";
  wchar_t *dest = NULL;
  int      length; 
    
  /* allocate memory for the destination string */
  dest = (wchar_t *)malloc((wcslen(src)+1)*sizeof(wchar_t));
    
  /*  perform the operation */
  if(dest != NULL)
   length = wcsxfrm(dest,src,9);
  else
  { 
   wprintf(L"ERROR : Cannot allocate memory");
  return -1;
  } 
  return length;
}

         


Limitations

The current implementation of wcsxfrm works only for "C" locale.

See also

setlocale, strxfrm, wcscmp, wcscoll

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.


Feedback

For additional information or queries on this page send feedback

© 2005-2007 Nokia

Top