strlen, strchr y strstr en C: ejercicio resuelto de búsqueda en texto

strlen, strchr y strstr en C: ejercicio resuelto de búsqueda en texto

Este ejercicio está programado para publicación diaria y mantiene la misma estructura didáctica del resto del sitio: enunciado claro, código compilable y salida esperada.

Enunciado

Implementa un caso práctico del tema y valida el resultado por consola.

Solución en C

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
#include <stdio.h>
#include <string.h>

int main(void) {
    const char *txt = "aprender c paso a paso";
    printf("Longitud: %zu\n", strlen(txt));

    const char *p1 = strchr(txt, 'c');
    const char *p2 = strstr(txt, "paso");

    if (p1) printf("Primera 'c' en indice %ld\n", (long)(p1 - txt));
    if (p2) printf("Subcadena 'paso' en indice %ld\n", (long)(p2 - txt));
    return 0;
}

Resultado esperado

1
2
3
Longitud: 22
Primera 'c' en indice 9
Subcadena 'paso' en indice 11

Errores frecuentes

  • No validar entradas o retornos de funciones estándar.
  • No controlar casos borde (buffers, límites, punteros nulos).
  • Omitir comprobaciones básicas de compilación y ejecución.

Aplicación práctica

strlen, strchr y strstr son las funciones de búsqueda en cadenas más usadas en parsers, sistemas de archivos y validaciones.

Siguiente ejercicio recomendado

Práctica guiada y libro completo

Si quieres una ruta completa con progresión real de dificultad:

FAQ

¿Este ejercicio sirve para entrevistas y exámenes de C?

Sí. Trabaja patrones que aparecen mucho en prácticas, entrevistas técnicas y evaluaciones de programación en C.

¿Dónde seguir con más ejercicios resueltos de C?

En Programación en C en 100 ejercicios resueltos y en Ejercicios C. Kindle Unlimited: Ver en Amazon.

¿Cómo practicar este tipo de ejercicio para mejorar más rápido?

Empieza con entradas pequeñas, prueba casos límite (vacío, un elemento y capacidad máxima) y luego reescribe la solución sin copiarla.