跳转至内容

C 编程/string.h/strxfrm

来自维基教科书,开放的书籍,开放的世界

strxfrm 是一个 C 标准库字符串函数,在 string.h 中声明。它根据当前区域设置转换字符串。

该函数的原型是

  size_t strxfrm(char *str1 , const char *str2 , size_t num);


是接收 num 个字符的转换字符串的字符串。如果 num 等于零,则 str1 只包含空字符。

是要转换的字符串。

是要复制到 str1 中的最大字符数。

strxfrm() 函数根据当前区域设置转换 str2。为此,使用在 locale.h 中定义的 LC_COLLATE 类别。转换后,转换字符串的前 num 个字符将复制到 str1 中。strxfrm() 函数以这样的方式执行转换,即在两个字符串上执行 strcmp 的结果与在两个原始字符串上执行 strcoll 的结果相同。

返回值

[编辑 | 编辑源代码]

strxfrm() 函数返回转换字符串的长度,不包括终止空字符。

示例用法

[编辑 | 编辑源代码]
#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;
}

str2 的长度 = 11
str1 的内容 = Hell
str2 的内容 = Hello World

[编辑 | 编辑源代码]
华夏公益教科书