Cortar cadena en ANSI C - Extraer subcadena

C – Extraer subcadena de cadena

En este post de programación en ANSI C te enseñaré cómo cortar una cadena o mejor dicho cómo extraer parte de una cadena para colocarla en otra cadena.

Para hacer esto en C necesitamos trabajar con apuntadores y con funciones que copian cadenas.

Cortar cadena en C – Algoritmo

Para hacer la extracción debemos saber el índice desde dónde comenzar a cortar, y la cantidad de caracteres que deseamos extraer.

Una vez que sabemos esto podemos usar a strncpy para copiar datos de una cadena a otra, indicando el apuntador de inicio como la suma del apuntador de la cadena más el índice.

El tercer argumento que recibe strncpy es la cantidad de bytes que se copian, cosa que indicamos con la cantidad de caracteres que se extraen.

Por cierto, si quieres cortar una cadena a partir de la posición de un elemento, primero necesitas obtener el índice de ese elemento usando strstr y sumarle la longitud de la búsqueda si es necesario.

Extraer subcadena en C

Vamos al grano. El código de ejemplo queda así:

/*
    https://parzibyte.me/blog
*/
#include <stdio.h>
#include <string.h>
#define MAXIMA_LONGITUD_CADENA 100

int main(int argc, char const *argv[])
{
    char cadena[MAXIMA_LONGITUD_CADENA] = "Luis Cabrera Benito";
    // Desde dónde comenzar a cortar
    int inicio = 5;
    // Cuántos caracteres cortar desde "inicio"
    int cantidadCaracteres = 7;
    char extraida[MAXIMA_LONGITUD_CADENA] = "";
    // Extraer
    strncpy(extraida, cadena + inicio, cantidadCaracteres);
    printf("Original: '%s'\n", cadena);
    printf("Extraída: '%s'\n", extraida);
    return 0;
}

Fíjate bien en el código de C. En este caso defino una cadena, luego indico que comenzaré a extraer desde el índice 5, cortando 7 caracteres (voy a extraer la palabra Cabrera).

La extracción o mejor dicho copia de la subcadena se hace en la línea 17 usando strncpy indicando que vamos a copiar a extraida desde cadena + inicio la cantidad de 7 caracteres.

Cortar cadena en ANSI C - Extraer subcadena
Cortar cadena en ANSI C – Extraer subcadena

Puedes observar que la salida es correcta. De este modo es como podemos extraer una subcadena de una cadena. Solo recuerda que la subcadena debe tener suficiente espacio para alojar la cadena extraída, esto se puede asegurar dándole la misma longitud a ambas.

Si quieres puedes ver más sobre programación en C.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

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