ILE C/C++ Run-Time Library Functions


strxfrm() -- Transform String

Format

#include <string.h>
size_t strxfrm(char *string1, const char *string2, size_t count);

Language Level: ANSI

Threadsafe: Yes.

Description

The strxfrm() function transforms the string pointed to by string2 and places the result into the string pointed to by string1. The transformation is determined by the program's current locale. The transformed string is not necessarily readable, but can be used with the strcmp() or the strncmp() functions.

The behavior of this function is affected by the LC_COLLATE category of the current locale.

Return Value

The strxfrm() function returns the length of the transformed string, excluding the ending null character. If the returned value is greater than or equal to count, the contents of the transformed string are indeterminate.

If strxfrm() is unsuccessful, errno is changed. The value of errno may be set to EINVAL (the string1 or string2 arguments contain characters which are not available in the current locale).

Example that uses strxfrm()

This example prompts the user to enter a string of characters, then uses strxfrm()to transform the string and return its length.


#include <stdio.h>
#include <string.h>
 
int main(void)
{
   char *string1, buffer[80];
   int length;
 
   printf("Type in a string of characters.\n ");
   string1 = gets(buffer);
   length = strxfrm(NULL, string1, 0);
   printf("You would need a %d element array to hold the string\n",length);
   printf("\n\n%s\n\n transformed according",string1);
   printf(" to this program's locale. \n");
}

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]