Hoy veremos un ejercicio de trabajo con cadenas o strings en C. Se trata de ver una función para insertar una cadena dentro de otra cadena, en cualquier posición.

Es decir, colocar una substring en una string de C. Como sabemos, las cadenas en C son un dolor de cabeza.

Durante la madrugada estuve trabajando en una función que hace exactamente eso y la vengo a compartir.

Algoritmo para insertar cadena en subcadena

Como sabemos, las cadenas son complejas de manejar en C. Por lo tanto la función que he creado requiere que definamos una máxima longitud de cadena.

Comenzamos definiendo el encabezado, que recibe la cadena original (en donde se va a insertar la otra cadena), la cadena que se inserta y la posición en la que se inserta.

void insertarSubcadena(char *original, char *subcadena, int indice);

Con esta función vamos a poder insertar una cadena al inicio, al final o en el centro, haciendo la cadena más grande como se debe. Por cierto, la función modifica a la cadena original.

Después de eso definimos el inicio de la cadena en una cadena vacía y copiamos a inicio la primer parte de la cadena, desde el inicio hasta la posición:

See the gist on github.

Ahora definimos el final, que es copiar desde el índice en donde se inserta hasta el final:

See the gist on github.

En este momento ya tenemos separados el inicio y final de la cadena, ahora falta insertar la subcadena que irá “en el centro”:

See the gist on github.

Ahora ya tenemos el inicio y la subcadena, falta agregar el final:

See the gist on github.

Finalmente copiamos el inicio (que tiene en este momento toda la cadena lista) a la cadena original:

See the gist on github.

Función insertar cadena en otra cadena usando C

Ahora la función completa queda así:

See the gist on github.

Como lo dije, modificará la cadena original.

Probando función

Podemos probar la función con el siguiente código dentro del método main:

See the gist on github.

Y el código completo quedaría así:

See the gist on github.

Puedes ejecutarlo en línea en este enlace. En mi caso todo funciona de maravilla:

Insertar cadena en otra cadena usando 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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Compartir
Publicado por
parzibyte

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

3 días hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

3 días hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

3 días hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

3 días hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

1 semana hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 semana hace

Esta web usa cookies.