strxfrm ()- 变换字符串

格式

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

语言级别

ANSI

线程安全

语言环境敏感

此函数的行为可能受当前语言环境的 LC_CTYPE 和 LC_COLLATE 类别影响。 有关更多信息,请参阅 了解 CCSID 和语言环境

描述

strxfrm() 函数变换由 string2 指向的字符串,并将结果放入由 string1指向的字符串中。 变换由程序的当前语言环境确定。 转换后的字符串不一定可读,但可以与 strcmp()strncmp() 函数配合使用。

返回值

strxfrm() 函数返回已转换字符串的长度,不包括结束空字符。 如果返回的值大于或等于 count,那么转换后的字符串的内容是不确定的。

如果 strxfrm() 不成功,那么将更改 errno。 errno 的值可以设置为 EINVAL ( string1string2 自变量包含在当前语言环境中不可用的字符)。

示例

此示例提示用户输入字符串,然后使用 strxfrm() 变换字符串并返回其长度。
#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");
}

相关信息