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

C – Obtener índice de subcadena en cadena

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.

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