strxfrm() en C/C++

strxfrm() es una función de biblioteca de C/C++. Se utiliza para transformar los caracteres de la string de origen en la configuración regional actual y colocarlos en la string de destino. Se define en el archivo de encabezado <locale.h> en C. La función strxfrm() realiza la transformación de tal manera que el resultado de strcmp en dos strings es el mismo que el resultado de strcoll en dos strings originales. 

Por ejemplo, str1 y str2 son dos strings. De manera similar, num1 y num2 son dos strings formadas al transformar str1 y str2 respectivamente usando la función strxfrm. Aquí, llamar a strcmp(num1,num2) es similar a llamar a strcoll(str1,str2).

Sintaxis: 

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

Parámetros:

  • str1: Es la string que recibe num caracteres de la string transformada.
  • str2: Es la string que se va a transformar.
  • num: Es el número máximo de caracteres que se copiarán en str1.

Valor devuelto: Devuelve el número de caracteres transformados (excluyendo el carácter nulo de terminación ‘\0’).

Ejemplo 1:

Aporte

'geeksforgeeks'

C

// C program to demonstrate strxfrm()
#include <stdio.h>
#include <string.h>
 
// Driver Code
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);
}
Producción

Length of string geeksforge@ is: 13

Ejemplo 2: 

Aporte

'hello geeksforgeeks' 

Nota: En este ejemplo, los espacios también se contarán.

C

// C program to demonstrate strxfrm()
#include <stdio.h>
#include <string.h>
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);
}
Producción

Length of string  hello geeksforgeeks9 is: 20

Ejemplo en C++:

CPP

// C program to demonstrate strxfrm()
#include <iostream>
#include <string.h>
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;
}
Producción

19
HellL
Hello geeksforgeeks

Este artículo es una contribución de Shivani Baghel . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *