Cómo obtener una subcadena de un char*

Cómo obtener una subcadena de un char*

Conseguir un subcadena de un char* es un tema sencillo que se puede lograr fácilmente. Esto se puede utilizar para una amplia gama de tareas de programación, como piratería, rastreo web y manipulación de cadenas. En este artículo discutiré el concepto básico y describiré los pasos necesarios para obtener un subcadena de un char*.

Sin embargo, antes de avanzar hacia el proceso principal, primero entendamos el concepto de un subconocencia.

¿Qué es una subcadena?

Una subcadena es solo una cadena más pequeña del texto principal. Esta "porción" más pequeña que se está obteniendo aún debe contener el personaje original o los caracteres de la cadena original. Por ejemplo, si la cadena original era "Hola Mundo", entonces el subconocencia sería "Hola" o "mundo" dependiendo de la salida deseada.

Obtener una subcadena de un char

Los usuarios de C pueden obtener una subcadena de un char a través de las siguientes funciones:

  • función strncpy ()
  • función sbstr ()
  • función memcpy ()

1: función strncpy ()

La primera forma de obtener un subcadena de un char* es usar el strncpy () Función de biblioteca C. Copia un número específico de caracteres de una cadena a otra. Para transferir una subcadena de un char* a un búfer recién construido, use esta función. Aquí hay un ejemplo de cómo usar strncpy ():

Aquí, POS denota el comienzo índice y fila ¿Es la longitud de la subcadena deseada?.

#incluir
#incluir
int main ()

int pos, Len;
char str [14] = "abcdefghijklm";
CHAR Subcubadora [14];
pos = 6;
len = 5;
printf ("La cadena original es: %s", str);
printf ("\ nsubstring es:");
strncpy (subcadena, str+(pos-1), len);
printf (subcadena);
regresar 0;

En este ejemplo, subconocencia es el buffer de destino, char stri es la cadena de origen y pajita es 6, lo que significa que el corte de cadenas comenzará desde la sexta posición (F) y termina en el quinto valor, que es j en el caso. Esto dará como resultado un subconocencia búfer de los primeros 50 caracteres del char* original copiado de.

Producción

2: función subStr ()

La segunda forma de obtener un subcadena de un char* es usar el subStr () Función de biblioteca C. Se utiliza para extraer una sección de una cadena basada en el índice inicial y el número de caracteres. Esta función se puede usar para devolver un puntero a la subcadena o para modificar la cadena existente. Un ejemplo de subStr () El uso es el siguiente:

#incluir
#incluir
char * substr (const char * src, int m, int n)

int len ​​= n-m;
char*dest = (char*) malloc (sizeOf (char)*(len + 1));
para (int i = m; i
*dest = *(src+i);
Dest ++;

*dest = '\ 0';
regresar Dest-Len;

int main ()

char src [] = "extraeremos la subcadena de una cadena";
int m = 6;
int n = 15;
char* dest = substr (src, m, n);
printf ("%s", des);
regresar 0;

En este código, la longitud y la ubicación del subcadena Las porciones se determinan en el método definido por el usuario subStr (), y la porción se coloca en el desestimado variable e impreso en la función principal. El código anterior emitirá la subcadena entre la sexta posición (L) y 15 Desde el principio, que es T desde el "extracto" cadena. metro es el punto de partida y norte es el punto final en este caso. Producción:

3: función memcpy ()

La tercera forma de obtener un subcadena de un char* es usar el memcpy () Función de biblioteca C. Copia varios bytes de una ubicación de memoria a otra. Para transferir una subcadena de un char* a un búfer recién construido, use esta función. Un ejemplo de memcpy () El uso es el siguiente:

#incluir
#incluir
int main (nulo)

char *text = "Esta es la cadena completa";
Subtexto de char [7];
memcpy (subtext, y texto [9], 6);
subtexto [6] = '\ 0';
printf ("cadena original: %s \ n", texto);
printf ("Subcanding: %s", subtext);
regresar 0;

En este código, el texto La cadena almacenada de la variable se muestra primero, y luego la memcpy () El método se utiliza para extraer la subcadena, que tiene el longitud de 6, el posición de 9 y el original texto cadena. El subconocencia luego se imprime después de ser guardado en el trasfondo variable.

Producción

Conclusión

Hay tres funciones básicas para obtener una subcadena de un char en el lenguaje de programación C. Las funciones son strncpy (), subStr () y memcpy (). Al copiar una cierta cantidad de caracteres de una cadena a otra, puede usar el strncpy () función. Para extraer una porción de cadena, puede ir con el Función subStr (). Mientras pueda usar el memcpy () función, que transfiere una serie de bytes de una dirección de memoria a otra y, por lo tanto, puede ser efectiva para obtener una cadena de Char.