Anteriormente en mi blog te enseñé cómo saber si una cadena en C contiene una subcadena. Ahora te mostraré cómo saber el índice (es decir, la posición) en donde aparece la subcadena dentro de la cadena.

Para esto vamos a usar strstr y operaciones con punteros.

Buscando cadena en subcadena

En mi tutorial anterior sobre ANSI C usamos strstr, misma que devuelve un apuntador a la cadena. Entonces primero debemos comprobar si se devuelve un puntero que no es NULL y en caso de ser así, vamos a hacer una resta para obtener el índice.

Obtener índice de subcadena en cadena usando C

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

En la línea 11 obtenemos el posible apuntador a la subcadena que estamos buscando dentro de la cadena.

En caso de que lo encontremos, hacemos operaciones con los punteros en la línea 14 para saber la posición de la subcadena en la cadena.

Finalmente en cualquiera de los dos casos imprimimos los resultados. En mi caso lo ejecuté y la salida fue la siguiente:

ANSI C - Buscar índice de subcadena dentro de cadena con strstr

ANSI C – Buscar índice de subcadena dentro de cadena con strstr

Ya con este índice podemos cortar la cadena, recorrerla desde ahí, etcétera. Puedes probar el código en línea.

También te invito a leer más sobre programación en C dentro de mi blog.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 1,347 suscriptores


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/

0 Comentarios

Deja un comentario

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

A %d blogueros les gusta esto: