C Programming/string.h/strxfrm
strxfrm
is a C Standard Library string function declared in string.h. It transforms string according to the current locale setting.
The prototype of this function is:
size_t strxfrm(char *str1 , const char *str2 , size_t num);
Parameters
[edit | edit source]str1
[edit | edit source]is the string which receives num characters of transformed string. If num is equal to zero then str1 contains only null character.
str2
[edit | edit source]is the string which is to be transformed.
num
[edit | edit source]is the maximum number of characters which to be copied into str1.
Description
[edit | edit source]strxfrm() function transforms str2 according to the current locale setting.For that LC_COLLATE category is used which is defined in locale.h. After transformation, the first num characters of the transformed string is copied into str1. strxfrm() function performs transformation in such a way that result of strcmp on two strings is the same as result of strcoll on two original strings.
Return Value
[edit | edit source]strxfrm() function returns length of transformed string excluding terminating null character.
Example usage
[edit | edit source]#include <stdio.h>
#include <string.h>
int main(void)
{
char str2[] = "Hello World";
char str1[strlen(str2) + 1];
printf("The length of str2 = %d\n",strxfrm(str1, str2, 4));
printf("The content of str1 = %s\n", str1[]);
printf("The content of str2 = %s\n", str2[]);
return 0;
}
Output
[edit | edit source]The length of str2 = 11
The content of str1 = Hell
The content of str2 = Hello World
External links
[edit | edit source]- Linux Library Functions Manual –
- C++ reference for
std::strxfrm