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í:

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 ejecutar el ejercicio en línea, y por aquí puedes ver más sobre programación en C.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

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