📜  C / C++中的strxfrm()

📅  最后修改于: 2021-05-30 11:38:44             🧑  作者: Mango

的C / C++库strxfrm()变换源字符串的字符转换成当前区域,并放置在目标字符串。
对于该LC_COLLATE类别,该类别在locale.h中定义。 strxfrm()函数执行转换的方式是,两个字符串上的strcmp结果与两个原始字符串上的strcoll结果相同。
句法:

size_t strxfrm(char *str1, const char *str2, size_t num);
parameters:
str1 :is the string which receives 
num characters of transformed string. 
str2 : is the string which is to be transformed
num  :is the maximum number of characters
which to be copied into str1.

例子 :

Input : 'geeksforgeeks'
Output : 13
// C program to demonstrate
// strxfrm()
#include 
#include 
int main()
{
    char src[10], dest[10];
    int len;
    strcpy(src, "geeksforgeeks");
    len = strxfrm(dest, src, 10);
    printf("Length of string %s is: %d", dest, len);
  
    return (0);
}

输出:

Length of string geeksforgeeks is: 13

范例2:

Input : 'hello geeksforgeeks'
Output : 20 // in this example it count space also 
// C program to demonstrate
// strxfrm()
#include 
#include 
int main()
{
    char src[20], dest[200];
    int len;
    strcpy(src, " hello geeksforgeeks");
    len = strxfrm(dest, src, 20);
    printf("Length of string %s is: %d", dest, len);
  
    return (0);
}

输出:

Length of string  hello geeksforgeeks is: 20

例子3:

// C program to demonstrate
// strxfrm()
#include 
#include 
using namespace std;
int main()
{
    char str2[30] = "Hello geeksforgeeks";
    char str1[30];
    cout << strxfrm(str1, str2, 4) << endl;
    cout << str1 << endl;
    cout << str2 << endl;
    return 0;
}

输出:

19
Hell
Hello geeksforgeeks
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”