wcsxfrm()

Updated: April 19, 2023

Transform one wide-character string into another, to a given length

Synopsis:

#include <wchar.h>

size_t wcsxfrm( wchar_t * ws1,
                const wchar_t * ws2,
                size_t n );

Arguments:

ws1
The string where the transformed ws2 will be copied.
ws2
The string you want to transform and then place in ws1.
n
The maximum number of characters to transform.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The wcsxfrm() function transforms the string pointed to by ws2 to the buffer pointed to by ws1, to a maximum of n wide-characters, including the terminating null. The two strings shouldn't overlap.

A call to wcscmp() returns the same result for two strings transformed by wcsxfrm() as wcscoll() would return for the original versions of the strings.

Note: This function doesn't report errors in its returns; set errno to 0, call wcsxfrm(), and then check errno again.

Returns:

The length of the transformed wide-character string. If this value is greater than n, the contents of ws1 are indeterminate.

Classification:

ANSI, POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes